Volume Cartographer 2.27.0
|
Spiral (i.e. scroll-like) surface shape. More...
#include <vc/core/shapes/Spiral.hpp>
Public Member Functions | |
Spiral (double arcLength, double height, double a=0.5, double b=0.1, double dTheta=0.25, double dH=1.0) | |
Constructor parameterized for angular offset and distance between spirals. | |
Spiral (double arcLength, double height, int numPts, int numCurves, double a=0.5, double b=0.1) | |
Constructor parameterized for number of points along the spiral and the number of spirals. | |
![]() | |
ITKMesh::Pointer | itkMesh () |
Return the shape as an ITKMesh. | |
vtkSmartPointer< vtkPolyData > | vtkMesh () |
Return the shape as a vtkPolyData. | |
PointSet< cv::Vec3d > | unorderedPoints () |
Return the vertices as a PointSet. More... | |
PointSet< cv::Vec6d > | unorderedPointNormal () |
Return the vertices and vertex normals as a PointSet. More... | |
std::vector< SimpleMesh::Vertex > | getPoints () const |
Return the vertices as a list of SimpleMesh::Vertex. More... | |
std::vector< SimpleMesh::Cell > | getCells () const |
Return the faces as a list of volcart::Cell. More... | |
OrderedPointSet< cv::Vec3d > | orderedPoints () |
Return the vertices as an OrderedPointSet. More... | |
OrderedPointSet< cv::Vec6d > | orderedPointNormal () |
Return the vertices and vertex normals as an OrderedPointSet. More... | |
bool | isOrdered () const |
Return if the shape generator created ordered vertices. More... | |
std::size_t | orderedWidth () const |
Return the width of the ordered vertex set. More... | |
std::size_t | orderedHeight () const |
Return the height of the ordered vertex set. More... | |
Private Member Functions | |
void | construct_spiral_ (int numCols, int numRows, double a, double b, double dTheta, double dH) |
Additional Inherited Members | |
![]() | |
ShapePrimitive () | |
void | addVertex_ (double x, double y, double z) |
Add a new vertex to the shape. | |
void | addCell_ (int v1, int v2, int v3) |
Add a new triangular face to the mesh from vertex IDs. More... | |
void | updateNormal_ (int vertID, double nx, double ny, double nz) |
Update the normal of a vertex with a new normal component. More... | |
![]() | |
std::vector< SimpleMesh::Vertex > | points_ |
std::vector< SimpleMesh::Cell > | cells_ |
bool | ordered_ {false} |
std::size_t | orderedWidth_ {0} |
std::size_t | orderedHeight_ {0} |
Spiral (i.e. scroll-like) surface shape.
This class generates a scroll-like surface shape using a logarithmic spiral as the basis for the shape.
The spiral is parameterized by the arc length of the spiral and the number of samples along the curve. The number of desired samples can be provided directly, or can be determined by providing the angular offset between each point on the curve. The parameters a
and b
are scaling coefficients on the equations for the coordinates of the sampled points. They can be thought of as controlling the "tightness" of the spiral:
The points generated by this class are ordered.
Definition at line 35 of file Spiral.hpp.
|
private |
Generic spiral construction