DMRITool
v0.1.1-139-g860d86b4
Diffusion MRI Tool
|
#include <itkSphereTessellator.h>
Tesselates a sphere via subdivision of tetrahedron, octahedron, or icosahedron.
Generation of a sphere by recursive subdivisions inspired by source code written by Jon Leech (http://www.cs.unc.edu/~jon/sphere.html)
Definition at line 37 of file itkSphereTessellator.h.
Public Types | |
enum | BasicShapeType { TETRAHEDRON, OCTAHEDRON, ICOSAHEDRON } |
typedef vnl_matrix< unsigned long > | CellsMatrixType |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef vnl_matrix< TElement > | PointsMatrixType |
typedef SphereTessellator | Self |
typedef Object | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual BasicShapeType | GetBasicShape () |
CellsMatrixType | GetCellsMatrix () |
virtual const char * | GetNameOfClass () const |
virtual unsigned int | GetNumberOfEdges () |
virtual unsigned int | GetNumberOfFaces () |
virtual unsigned int | GetNumberOfVertices () |
virtual unsigned int | GetOrder () |
PointsMatrixType | GetPointsMatrix () |
PointsMatrixType | GetPointsMatrixInHemisphere () |
void | Initialize (void) |
void | Reserve (void) |
virtual void | SetBasicShape (BasicShapeType _arg) |
virtual void | SetOrder (unsigned int _arg) |
void | Squeeze (void) |
void | TessellateSphere () |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | NDimensions = 3 |
Protected Member Functions | |
void | InitIcosahedron () |
void | InitOctahedron () |
void | InitTetrahedron () |
void | OutputSphere () |
void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
int | SearchMidpoint (int index_start, int index_end) |
SphereTessellator () | |
void | Subdivide () |
virtual | ~SphereTessellator () |
Private Member Functions | |
void | operator= (const Self &) |
SphereTessellator (const Self &) | |
Private Attributes | |
unsigned int | edge_walk |
int * | end |
int * | faces |
BasicShapeType | m_BasicShape |
CellsMatrixType | m_Cells |
unsigned int | m_NumberOfEdges |
unsigned int | m_NumberOfFaces |
unsigned int | m_NumberOfVertices |
unsigned int | m_Order |
PointsMatrixType | m_Points |
int * | midpoint |
unsigned int | n_edges |
unsigned int | n_faces |
unsigned int | n_vertices |
int * | start |
double * | vertices |
typedef vnl_matrix<unsigned long> itk::SphereTessellator< TElement >::CellsMatrixType |
Definition at line 57 of file itkSphereTessellator.h.
typedef SmartPointer<const Self> itk::SphereTessellator< TElement >::ConstPointer |
Definition at line 44 of file itkSphereTessellator.h.
typedef SmartPointer<Self> itk::SphereTessellator< TElement >::Pointer |
Definition at line 43 of file itkSphereTessellator.h.
typedef vnl_matrix<TElement> itk::SphereTessellator< TElement >::PointsMatrixType |
Save the template parameters.
Definition at line 56 of file itkSphereTessellator.h.
typedef SphereTessellator itk::SphereTessellator< TElement >::Self |
Standard class typedefs.
Definition at line 41 of file itkSphereTessellator.h.
typedef Object itk::SphereTessellator< TElement >::Superclass |
Definition at line 42 of file itkSphereTessellator.h.
enum itk::SphereTessellator::BasicShapeType |
Get/Set basic shape for subdivision
Enumerator | |
---|---|
TETRAHEDRON | |
OCTAHEDRON | |
ICOSAHEDRON |
Definition at line 63 of file itkSphereTessellator.h.
|
protected |
Definition at line 29 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::~SphereTessellator().
|
protectedvirtual |
Definition at line 50 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::Reserve().
Referenced by itk::SphereTessellator< TElement >::SphereTessellator().
|
private |
virtual::itk::LightObject::Pointer itk::SphereTessellator< TElement >::CreateAnother | ( | void | ) | const |
|
virtual |
|
inline |
Definition at line 101 of file itkSphereTessellator.h.
References ITK_OVERRIDE.
|
virtual |
Standard part of every itk Object.
|
virtual |
|
virtual |
|
virtual |
Information on tesselation
|
virtual |
Get/Set tesselation order oder = numer of subdivision + 1
|
inline |
Definition at line 78 of file itkSphereTessellator.h.
|
inline |
Definition at line 83 of file itkSphereTessellator.h.
References spams::abs().
void itk::SphereTessellator< TElement >::Initialize | ( | void | ) |
Release allocated memory.
Tell the container to release any of its allocated memory.
Definition at line 88 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::InitTetrahedron().
Referenced by itk::SphereTessellator< TElement >::Squeeze().
|
protected |
Definition at line 142 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::SearchMidpoint().
Referenced by itk::SphereTessellator< TElement >::InitOctahedron().
|
protected |
Definition at line 120 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::InitIcosahedron().
Referenced by itk::SphereTessellator< TElement >::InitTetrahedron().
|
protected |
Definition at line 99 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::InitOctahedron().
Referenced by itk::SphereTessellator< TElement >::Initialize().
|
static |
Method for creation through the object factory.
|
private |
|
protected |
Definition at line 320 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::PrintSelf().
Referenced by itk::SphereTessellator< TElement >::TessellateSphere().
|
protected |
PrintSelf routine. Normally this is a protected internal method. It is made public here so that Image can call this method. Users should not call this method but should call Print() instead.
Definition at line 347 of file itkSphereTessellator.hxx.
Referenced by itk::SphereTessellator< TElement >::OutputSphere().
void itk::SphereTessellator< TElement >::Reserve | ( | void | ) |
This method does nothing.
Tell the container to allocate enough memory to allow at least as many elements as the size given to be stored.
Definition at line 63 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::Squeeze().
Referenced by itk::SphereTessellator< TElement >::~SphereTessellator().
|
protected |
Definition at line 193 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::Subdivide().
Referenced by itk::SphereTessellator< TElement >::InitIcosahedron().
|
virtual |
|
virtual |
void itk::SphereTessellator< TElement >::Squeeze | ( | void | ) |
This method does nothing.
Tell the container to try to minimize its memory usage for storage of the current number of elements.
Definition at line 76 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::Initialize().
Referenced by itk::SphereTessellator< TElement >::Reserve().
|
protected |
Definition at line 238 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::TessellateSphere().
Referenced by itk::SphereTessellator< TElement >::SearchMidpoint().
void itk::SphereTessellator< TElement >::TessellateSphere | ( | void | ) |
Generate basis.
Do actual work in generating the basis.
Definition at line 296 of file itkSphereTessellator.hxx.
References itk::SphereTessellator< TElement >::OutputSphere().
Referenced by itk::SphereTessellator< TElement >::Subdivide().
|
private |
Definition at line 141 of file itkSphereTessellator.h.
|
private |
Definition at line 143 of file itkSphereTessellator.h.
|
private |
Definition at line 139 of file itkSphereTessellator.h.
|
private |
Definition at line 149 of file itkSphereTessellator.h.
|
private |
Definition at line 147 of file itkSphereTessellator.h.
|
private |
Definition at line 155 of file itkSphereTessellator.h.
|
private |
Definition at line 154 of file itkSphereTessellator.h.
|
private |
Definition at line 153 of file itkSphereTessellator.h.
|
private |
Definition at line 151 of file itkSphereTessellator.h.
|
private |
Definition at line 146 of file itkSphereTessellator.h.
|
private |
Definition at line 144 of file itkSphereTessellator.h.
|
private |
Definition at line 137 of file itkSphereTessellator.h.
|
private |
Definition at line 136 of file itkSphereTessellator.h.
|
private |
Definition at line 135 of file itkSphereTessellator.h.
|
static |
Set the orientation tables.
Definition at line 53 of file itkSphereTessellator.h.
|
private |
Definition at line 142 of file itkSphereTessellator.h.
|
private |
Definition at line 138 of file itkSphereTessellator.h.