NDEVR
API Documentation
CylinderShape.h
1#pragma once
2#include <NDEVR/Model.h>
3namespace NDEVR
4{
9 class CylinderShape : public Model
10 {
15 CylinderShape(Model& model);
16
23 void setupCylinder(const Vertex<3, fltp08>& center_a, const Vertex<3, fltp08>& center_b, fltp08 radius);
24
31 void setupCylinder(const Vertex<3, fltp08>& start, const Vertex<3, fltp08>& end, Vertex<3, fltp08>& middle_point);
32
37 void createBestFitConicArc(Buffer<Vertex<3, fltp08>>& points);
38
43 void createBestFitArc(Buffer<Vertex<3, fltp08>>& points);
44
49 void setRadius(fltp08 radius);
50
55 void setStartPoint(const Vertex<3, fltp08>& start);
56
61 void setEndPoint(const Vertex<3, fltp08>& end);
62
67 void setClockwise(bool clockwise);
68
73 fltp08 radius() const;
74
79 fltp08 height() const;
80
85 Vertex<3, fltp08> startPoint() const;
86
91 Vertex<3, fltp08> endPoint() const;
92
97 Vertex<3, fltp08> apex() const;
98
103 bool isClockwise() const;
104
109 void displayRadius(bool show);
110
115 void displayChord(bool show);
116 protected:
122
128
129 };
130}
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
Model radiusModel()
Gets or creates the child model used for radius visualization.
Model chordModel()
Gets or creates the child model used for chord visualization.
Model()
Default constructor. Creates an uninitialized Model.
Definition Model.h:365
A point in N-dimensional space, used primarily for spatial location information.
Definition Vertex.hpp:44
The primary namespace for the NDEVR SDK.
double fltp08
Defines an alias representing an 8 byte floating-point number.