ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
itk::HexahedronCell< TCellInterface > Class Template Reference

#include <itkHexahedronCell.h>

+ Inheritance diagram for itk::HexahedronCell< TCellInterface >:
+ Collaboration diagram for itk::HexahedronCell< TCellInterface >:

Detailed Description

template<typename TCellInterface>
class itk::HexahedronCell< TCellInterface >

Represents a hexahedron (cuboid) for a Mesh.

HexahedronCell represents a hexahedron, more precisely, a cuboid, for a Mesh.

Template Parameters
TPixelTypeThe type associated with a point, cell, or boundary for use in storing its data.
TCellTraitsType information of mesh containing cell.
Todo:
When reviewing this class, the documentation of the template parameters MUST be fixed.

Definition at line 44 of file itkHexahedronCell.h.

Public Types

using EdgeAutoPointer = typename EdgeType::SelfAutoPointer
 
using EdgeType = LineCell< TCellInterface >
 
using FaceAutoPointer = typename FaceType::SelfAutoPointer
 
using FaceType = QuadrilateralCell< TCellInterface >
 
using VertexAutoPointer = typename VertexType::SelfAutoPointer
 
using VertexType = VertexCell< TCellInterface >
 

Public Member Functions

bool EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *) override
 
bool GetBoundaryFeature (int dimension, CellFeatureIdentifier, CellAutoPointer &) override
 
unsigned int GetDimension () const override
 
virtual bool GetEdge (CellFeatureIdentifier, EdgeAutoPointer &)
 
virtual bool GetFace (CellFeatureIdentifier, FaceAutoPointer &)
 
virtual const char * GetNameOfClass () const
 
CellFeatureCount GetNumberOfBoundaryFeatures (int dimension) const override
 
virtual CellFeatureCount GetNumberOfEdges () const
 
virtual CellFeatureCount GetNumberOfFaces () const
 
unsigned int GetNumberOfPoints () const override
 
virtual CellFeatureCount GetNumberOfVertices () const
 
virtual bool GetVertex (CellFeatureIdentifier, VertexAutoPointer &)
 
 HexahedronCell ()
 
 itkCellVisitMacro (Superclass::HEXAHEDRON_CELL)
 
PointIdIterator PointIdsBegin () override
 
PointIdConstIterator PointIdsBegin () const override
 
PointIdIterator PointIdsEnd () override
 
PointIdConstIterator PointIdsEnd () const override
 
void SetPointId (int localId, PointIdentifier) override
 
void SetPointIds (PointIdConstIterator first) override
 
void SetPointIds (PointIdConstIterator first, PointIdConstIterator last) override
 
 ~HexahedronCell () override=default
 
 itkCellCommonTypedefs (HexahedronCell)
 
 itkCellInheritedTypedefs (TCellInterface)
 
CellGeometry GetType () const override
 
void MakeCopy (CellAutoPointer &) const override
 

Static Public Attributes

static constexpr unsigned int CellDimension = 3
 
static constexpr unsigned int NumberOfEdges = 12
 
static constexpr unsigned int NumberOfFaces = 6
 
static constexpr unsigned int NumberOfPoints = 8
 
static constexpr unsigned int NumberOfVertices = 8
 

Protected Member Functions

void EvaluateLocation (int &, PointsContainer *points, CoordRepType pcoords[Self::CellDimension], CoordRepType x[Self::CellDimension], InterpolationWeightType *weights)
 
void InterpolationDerivs (CoordRepType pcoords[Self::CellDimension], CoordRepType derivs[Self::CellDimension *Self::NumberOfPoints])
 
void InterpolationFunctions (CoordRepType pcoords[Self::CellDimension], InterpolationWeightType sf[Self::NumberOfPoints])
 

Protected Attributes

PointIdentifier m_PointIds [NumberOfPoints]
 

Additional Inherited Members

- Private Member Functions inherited from itk::HexahedronCellTopology
 HexahedronCellTopology ()
 
virtual ~HexahedronCellTopology ()
 
- Static Private Attributes inherited from itk::HexahedronCellTopology
static const int m_Edges [12][2]
 
static const int m_Faces [6][4]
 

Member Typedef Documentation

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::EdgeAutoPointer = typename EdgeType::SelfAutoPointer

Definition at line 63 of file itkHexahedronCell.h.

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::EdgeType = LineCell< TCellInterface >

The type of boundary for this triangle's edges.

Definition at line 62 of file itkHexahedronCell.h.

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::FaceAutoPointer = typename FaceType::SelfAutoPointer

Definition at line 67 of file itkHexahedronCell.h.

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::FaceType = QuadrilateralCell< TCellInterface >

The type of boundary for this hexahedron's faces.

Definition at line 66 of file itkHexahedronCell.h.

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::VertexAutoPointer = typename VertexType::SelfAutoPointer

Definition at line 59 of file itkHexahedronCell.h.

template<typename TCellInterface >
using itk::HexahedronCell< TCellInterface >::VertexType = VertexCell< TCellInterface >

The type of boundary for this triangle's vertices.

Definition at line 58 of file itkHexahedronCell.h.

Constructor & Destructor Documentation

template<typename TCellInterface >
itk::HexahedronCell< TCellInterface >::HexahedronCell ( )
inline

Definition at line 138 of file itkHexahedronCell.h.

template<typename TCellInterface >
itk::HexahedronCell< TCellInterface >::~HexahedronCell ( )
overridedefault

Member Function Documentation

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::EvaluateLocation ( int &  ,
PointsContainer *  points,
CoordRepType  pcoords[Self::CellDimension],
CoordRepType  x[Self::CellDimension],
InterpolationWeightType *  weights 
)
protected
template<typename TCellInterface >
bool itk::HexahedronCell< TCellInterface >::EvaluatePosition ( CoordRepType *  ,
PointsContainer *  ,
CoordRepType *  ,
CoordRepType  [],
double *  ,
InterpolationWeightType *   
)
override

Evaluate the position inside the cell

template<typename TCellInterface >
bool itk::HexahedronCell< TCellInterface >::GetBoundaryFeature ( int  dimension,
CellFeatureIdentifier  ,
CellAutoPointer &   
)
override
template<typename TCellInterface >
unsigned int itk::HexahedronCell< TCellInterface >::GetDimension ( ) const
override
template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetEdge ( CellFeatureIdentifier  ,
EdgeAutoPointer  
)
virtual
template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetFace ( CellFeatureIdentifier  ,
FaceAutoPointer  
)
virtual
template<typename TCellInterface >
virtual const char* itk::HexahedronCell< TCellInterface >::GetNameOfClass ( ) const
virtual

Standard part of every itk Object.

template<typename TCellInterface >
CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfBoundaryFeatures ( int  dimension) const
override
template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfEdges ( ) const
virtual
template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfFaces ( ) const
virtual
template<typename TCellInterface >
unsigned int itk::HexahedronCell< TCellInterface >::GetNumberOfPoints ( ) const
override
template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfVertices ( ) const
virtual

Hexahedron-specific interface.

template<typename TCellInterface >
CellGeometry itk::HexahedronCell< TCellInterface >::GetType ( ) const
inlineoverride

Implement the standard CellInterface.

Definition at line 77 of file itkHexahedronCell.h.

template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetVertex ( CellFeatureIdentifier  ,
VertexAutoPointer  
)
virtual
template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::InterpolationDerivs ( CoordRepType  pcoords[Self::CellDimension],
CoordRepType  derivs[Self::CellDimension *Self::NumberOfPoints] 
)
protected
template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::InterpolationFunctions ( CoordRepType  pcoords[Self::CellDimension],
InterpolationWeightType  sf[Self::NumberOfPoints] 
)
protected
template<typename TCellInterface >
itk::HexahedronCell< TCellInterface >::itkCellCommonTypedefs ( HexahedronCell< TCellInterface >  )

Standard class type aliases.

template<typename TCellInterface >
itk::HexahedronCell< TCellInterface >::itkCellInheritedTypedefs ( TCellInterface  )

Standard class type aliases.

template<typename TCellInterface >
itk::HexahedronCell< TCellInterface >::itkCellVisitMacro ( Superclass::HEXAHEDRON_CELL  )

Visitor interface

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::MakeCopy ( CellAutoPointer &  ) const
override

Implement the standard CellInterface.

template<typename TCellInterface >
PointIdIterator itk::HexahedronCell< TCellInterface >::PointIdsBegin ( )
override
template<typename TCellInterface >
PointIdConstIterator itk::HexahedronCell< TCellInterface >::PointIdsBegin ( ) const
override
template<typename TCellInterface >
PointIdIterator itk::HexahedronCell< TCellInterface >::PointIdsEnd ( )
override
template<typename TCellInterface >
PointIdConstIterator itk::HexahedronCell< TCellInterface >::PointIdsEnd ( ) const
override
template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointId ( int  localId,
PointIdentifier   
)
override
template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first)
override
template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first,
PointIdConstIterator  last 
)
override

Member Data Documentation

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::CellDimension = 3
static

Definition at line 74 of file itkHexahedronCell.h.

template<typename TCellInterface >
PointIdentifier itk::HexahedronCell< TCellInterface >::m_PointIds[NumberOfPoints]
protected

Store the number of points needed for a hexahedron.

Definition at line 126 of file itkHexahedronCell.h.

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::NumberOfEdges = 12
static

Definition at line 72 of file itkHexahedronCell.h.

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::NumberOfFaces = 6
static

Definition at line 73 of file itkHexahedronCell.h.

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::NumberOfPoints = 8
static

Hexahedron-specific topology numbers.

Definition at line 70 of file itkHexahedronCell.h.

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::NumberOfVertices = 8
static

Definition at line 71 of file itkHexahedronCell.h.


The documentation for this class was generated from the following file: