ITK  5.2.0
Insight Toolkit
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 >:
using VertexType = VertexCell< TCellInterface >
 
using VertexAutoPointer = typename VertexType::SelfAutoPointer
 
using EdgeType = LineCell< TCellInterface >
 
using EdgeAutoPointer = typename EdgeType::SelfAutoPointer
 
using FaceType = QuadrilateralCell< TCellInterface >
 
using FaceAutoPointer = typename FaceType::SelfAutoPointer
 
static constexpr unsigned int NumberOfPoints = 8
 
static constexpr unsigned int NumberOfVertices = 8
 
static constexpr unsigned int NumberOfEdges = 12
 
static constexpr unsigned int NumberOfFaces = 6
 
static constexpr unsigned int CellDimension = 3
 
static constexpr unsigned int CellDimension3D = 3
 
static constexpr unsigned int PointDimension3D = 3
 
PointIdentifier m_PointIds [NumberOfPoints]
 
 itkCellCommonTypedefs (HexahedronCell)
 
 itkCellInheritedTypedefs (TCellInterface)
 
virtual const char * GetNameOfClass () const
 
CellGeometryEnum GetType () const override
 
void MakeCopy (CellAutoPointer &) const override
 
unsigned int GetDimension () const override
 
unsigned int GetNumberOfPoints () const override
 
CellFeatureCount GetNumberOfBoundaryFeatures (int dimension) const override
 
bool GetBoundaryFeature (int dimension, CellFeatureIdentifier, CellAutoPointer &) override
 
void SetPointIds (PointIdConstIterator first) override
 
void SetPointIds (PointIdConstIterator first, PointIdConstIterator last) override
 
void SetPointId (int localId, PointIdentifier) override
 
PointIdIterator PointIdsBegin () override
 
PointIdConstIterator PointIdsBegin () const override
 
PointIdIterator PointIdsEnd () override
 
PointIdConstIterator PointIdsEnd () const override
 
virtual CellFeatureCount GetNumberOfVertices () const
 
virtual CellFeatureCount GetNumberOfEdges () const
 
virtual CellFeatureCount GetNumberOfFaces () const
 
virtual bool GetVertex (CellFeatureIdentifier, VertexAutoPointer &)
 
virtual bool GetEdge (CellFeatureIdentifier, EdgeAutoPointer &)
 
virtual bool GetFace (CellFeatureIdentifier, FaceAutoPointer &)
 
bool EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *) override
 
 itkCellVisitMacro (CellGeometryEnum::HEXAHEDRON_CELL)
 
 HexahedronCell ()
 
 ~HexahedronCell () override=default
 
void InterpolationDerivs (CoordRepType pcoords[Self::CellDimension], CoordRepType derivs[Self::CellDimension *Self::NumberOfPoints])
 
void InterpolationFunctions (CoordRepType pcoords[Self::CellDimension], InterpolationWeightType sf[Self::NumberOfPoints])
 
void EvaluateLocation (int &, PointsContainer *points, CoordRepType pcoords[Self::CellDimension], CoordRepType x[Self::CellDimension], InterpolationWeightType *weights)
 

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]
 

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.

NOTE: ONLY 3D implementations are instrumented. All other dimensions result in incorrect processing.

Definition at line 47 of file itkHexahedronCell.h.

Member Typedef Documentation

◆ EdgeAutoPointer

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

The type of boundary for this triangle's vertices.

Definition at line 68 of file itkHexahedronCell.h.

◆ EdgeType

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

The type of boundary for this triangle's edges.

Definition at line 67 of file itkHexahedronCell.h.

◆ FaceAutoPointer

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

The type of boundary for this triangle's vertices.

Definition at line 72 of file itkHexahedronCell.h.

◆ FaceType

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

The type of boundary for this hexahedron's faces.

Definition at line 71 of file itkHexahedronCell.h.

◆ VertexAutoPointer

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

The type of boundary for this triangle's vertices.

Definition at line 64 of file itkHexahedronCell.h.

◆ VertexType

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

The type of boundary for this triangle's vertices.

Definition at line 63 of file itkHexahedronCell.h.

Constructor & Destructor Documentation

◆ HexahedronCell()

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

The type of boundary for this triangle's vertices.

Definition at line 176 of file itkHexahedronCell.h.

References itk::NumericTraits< T >::max().

◆ ~HexahedronCell()

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

The type of boundary for this triangle's vertices.

Member Function Documentation

◆ EvaluateLocation()

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

The type of boundary for this triangle's vertices.

◆ EvaluatePosition()

template<typename TCellInterface >
bool itk::HexahedronCell< TCellInterface >::EvaluatePosition ( CoordRepType *  ,
PointsContainer *  ,
CoordRepType *  ,
CoordRepType  [],
double *  ,
InterpolationWeightType *   
)
override

Evaluate the position inside the cell

◆ GetBoundaryFeature()

template<typename TCellInterface >
bool itk::HexahedronCell< TCellInterface >::GetBoundaryFeature ( int  dimension,
CellFeatureIdentifier  ,
CellAutoPointer &   
)
override

The type of boundary for this triangle's vertices.

◆ GetDimension()

template<typename TCellInterface >
unsigned int itk::HexahedronCell< TCellInterface >::GetDimension ( ) const
override

The type of boundary for this triangle's vertices.

◆ GetEdge()

template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetEdge ( CellFeatureIdentifier  ,
EdgeAutoPointer  
)
virtual

The type of boundary for this triangle's vertices.

◆ GetFace()

template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetFace ( CellFeatureIdentifier  ,
FaceAutoPointer  
)
virtual

The type of boundary for this triangle's vertices.

◆ GetNameOfClass()

template<typename TCellInterface >
virtual const char* itk::HexahedronCell< TCellInterface >::GetNameOfClass ( ) const
virtual

Standard part of every itk Object.

◆ GetNumberOfBoundaryFeatures()

template<typename TCellInterface >
CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfBoundaryFeatures ( int  dimension) const
override

The type of boundary for this triangle's vertices.

◆ GetNumberOfEdges()

template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfEdges ( ) const
virtual

The type of boundary for this triangle's vertices.

◆ GetNumberOfFaces()

template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfFaces ( ) const
virtual

The type of boundary for this triangle's vertices.

◆ GetNumberOfPoints()

template<typename TCellInterface >
unsigned int itk::HexahedronCell< TCellInterface >::GetNumberOfPoints ( ) const
override

The type of boundary for this triangle's vertices.

◆ GetNumberOfVertices()

template<typename TCellInterface >
virtual CellFeatureCount itk::HexahedronCell< TCellInterface >::GetNumberOfVertices ( ) const
virtual

Hexahedron-specific interface.

◆ GetType()

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

Implement the standard CellInterface.

Definition at line 91 of file itkHexahedronCell.h.

References itk::CommonEnums::HEXAHEDRON_CELL.

◆ GetVertex()

template<typename TCellInterface >
virtual bool itk::HexahedronCell< TCellInterface >::GetVertex ( CellFeatureIdentifier  ,
VertexAutoPointer  
)
virtual

The type of boundary for this triangle's vertices.

◆ InterpolationDerivs()

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::InterpolationDerivs ( CoordRepType  pcoords[Self::CellDimension],
CoordRepType  derivs[Self::CellDimension *Self::NumberOfPoints] 
)
protected

The type of boundary for this triangle's vertices.

◆ InterpolationFunctions()

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::InterpolationFunctions ( CoordRepType  pcoords[Self::CellDimension],
InterpolationWeightType  sf[Self::NumberOfPoints] 
)
protected

The type of boundary for this triangle's vertices.

◆ itkCellCommonTypedefs()

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

Standard class type aliases.

◆ itkCellInheritedTypedefs()

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

The type of boundary for this triangle's vertices.

◆ itkCellVisitMacro()

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

Visitor interface

◆ MakeCopy()

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

The type of boundary for this triangle's vertices.

◆ PointIdsBegin() [1/2]

template<typename TCellInterface >
PointIdConstIterator itk::HexahedronCell< TCellInterface >::PointIdsBegin ( ) const
override

The type of boundary for this triangle's vertices.

◆ PointIdsBegin() [2/2]

template<typename TCellInterface >
PointIdIterator itk::HexahedronCell< TCellInterface >::PointIdsBegin ( )
override

The type of boundary for this triangle's vertices.

◆ PointIdsEnd() [1/2]

template<typename TCellInterface >
PointIdConstIterator itk::HexahedronCell< TCellInterface >::PointIdsEnd ( ) const
override

The type of boundary for this triangle's vertices.

◆ PointIdsEnd() [2/2]

template<typename TCellInterface >
PointIdIterator itk::HexahedronCell< TCellInterface >::PointIdsEnd ( )
override

The type of boundary for this triangle's vertices.

◆ SetPointId()

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointId ( int  localId,
PointIdentifier   
)
override

The type of boundary for this triangle's vertices.

◆ SetPointIds() [1/2]

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first)
override

The type of boundary for this triangle's vertices.

◆ SetPointIds() [2/2]

template<typename TCellInterface >
void itk::HexahedronCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first,
PointIdConstIterator  last 
)
override

The type of boundary for this triangle's vertices.

Member Data Documentation

◆ CellDimension

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

The type of boundary for this triangle's vertices.

Definition at line 79 of file itkHexahedronCell.h.

◆ CellDimension3D

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::CellDimension3D = 3
staticconstexpr

HARDCODE Implementation requirements, while allowing general interface. The General interface is needed to facilitate the general SpatialObject loader.

Definition at line 86 of file itkHexahedronCell.h.

◆ m_PointIds

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

Store the number of points needed for a hexahedron.

Definition at line 161 of file itkHexahedronCell.h.

◆ NumberOfEdges

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

The type of boundary for this triangle's vertices.

Definition at line 77 of file itkHexahedronCell.h.

◆ NumberOfFaces

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

The type of boundary for this triangle's vertices.

Definition at line 78 of file itkHexahedronCell.h.

◆ NumberOfPoints

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

Hexahedron-specific topology numbers.

Definition at line 75 of file itkHexahedronCell.h.

◆ NumberOfVertices

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

The type of boundary for this triangle's vertices.

Definition at line 76 of file itkHexahedronCell.h.

◆ PointDimension3D

template<typename TCellInterface >
constexpr unsigned int itk::HexahedronCell< TCellInterface >::PointDimension3D = 3
staticconstexpr

The type of boundary for this triangle's vertices.

Definition at line 87 of file itkHexahedronCell.h.


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