ITK  5.3.0
Insight Toolkit
List of all members
itk::TriangleCell< TCellInterface > Class Template Reference

#include <itkTriangleCell.h>

+ Inheritance diagram for itk::TriangleCell< TCellInterface >:
+ Collaboration diagram for itk::TriangleCell< TCellInterface >:
using VertexType = VertexCell< TCellInterface >
 
using VertexAutoPointer = typename VertexType::SelfAutoPointer
 
using EdgeType = LineCell< TCellInterface >
 
using EdgeAutoPointer = typename EdgeType::SelfAutoPointer
 
static constexpr unsigned int NumberOfPoints = 3
 
static constexpr unsigned int NumberOfVertices = 3
 
static constexpr unsigned int NumberOfEdges = 3
 
static constexpr unsigned int CellDimension = 2
 
std::vector< PointIdentifier > m_PointIds
 
 itkCellCommonTypedefs (TriangleCell)
 
 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 bool GetVertex (CellFeatureIdentifier, VertexAutoPointer &)
 
virtual bool GetEdge (CellFeatureIdentifier, EdgeAutoPointer &)
 
bool EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *) override
 
 itkCellVisitMacro (CellGeometryEnum::TRIANGLE_CELL)
 
CoordRepType ComputeArea (PointsContainer *)
 
PointType ComputeBarycenter (CoordRepType *, PointsContainer *)
 
PointType ComputeCenterOfGravity (PointsContainer *)
 
PointType ComputeCircumCenter (PointsContainer *)
 
 TriangleCell ()
 
 ~TriangleCell () override=default
 
double DistanceToLine (PointType x, PointType p1, PointType p2, double &t, CoordRepType *closestPoint)
 
double DistanceToLine (PointType x, PointType p1, PointType p2, double &t, PointType &closestPoint)
 

Additional Inherited Members

- Private Member Functions inherited from itk::TriangleCellTopology
 TriangleCellTopology ()
 
virtual ~TriangleCellTopology ()
 
- Static Private Attributes inherited from itk::TriangleCellTopology
static const int m_Edges [3][2]
 

Detailed Description

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

TriangleCell represents a triangle for a Mesh.

Template parameters for TriangleCell:

TPixelType = The type associated with a point, cell, or boundary for use in storing its data.

TCellTraits = Type information of mesh containing cell.

Examples
Examples/DataRepresentation/Mesh/MeshCellsIteration.cxx, Examples/DataRepresentation/Mesh/MeshCellVisitor.cxx, Examples/DataRepresentation/Mesh/MeshCellVisitor2.cxx, Examples/DataRepresentation/Mesh/MeshKComplex.cxx, and SphinxExamples/src/Core/Mesh/ConvertMeshToUnstructeredGrid/Code.cxx.

Definition at line 45 of file itkTriangleCell.h.

Member Typedef Documentation

◆ EdgeAutoPointer

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

The type of boundary for this triangle's vertices.

Definition at line 66 of file itkTriangleCell.h.

◆ EdgeType

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

The type of boundary for this triangle's edges.

Definition at line 65 of file itkTriangleCell.h.

◆ VertexAutoPointer

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

The type of boundary for this triangle's vertices.

Definition at line 62 of file itkTriangleCell.h.

◆ VertexType

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

The type of boundary for this triangle's vertices.

Definition at line 61 of file itkTriangleCell.h.

Constructor & Destructor Documentation

◆ TriangleCell()

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

The type of boundary for this triangle's vertices.

Definition at line 152 of file itkTriangleCell.h.

◆ ~TriangleCell()

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

The type of boundary for this triangle's vertices.

Member Function Documentation

◆ ComputeArea()

template<typename TCellInterface >
CoordRepType itk::TriangleCell< TCellInterface >::ComputeArea ( PointsContainer *  )

Compute Area to a TriangleCell given a PointsContainer.

◆ ComputeBarycenter()

template<typename TCellInterface >
PointType itk::TriangleCell< TCellInterface >::ComputeBarycenter ( CoordRepType *  ,
PointsContainer *   
)

The type of boundary for this triangle's vertices.

◆ ComputeCenterOfGravity()

template<typename TCellInterface >
PointType itk::TriangleCell< TCellInterface >::ComputeCenterOfGravity ( PointsContainer *  )

The type of boundary for this triangle's vertices.

◆ ComputeCircumCenter()

template<typename TCellInterface >
PointType itk::TriangleCell< TCellInterface >::ComputeCircumCenter ( PointsContainer *  )

The type of boundary for this triangle's vertices.

◆ DistanceToLine() [1/2]

template<typename TCellInterface >
double itk::TriangleCell< TCellInterface >::DistanceToLine ( PointType  x,
PointType  p1,
PointType  p2,
double &  t,
CoordRepType *  closestPoint 
)
private

Computes the SQUARED distance between a point and a line segment defined by two other points

◆ DistanceToLine() [2/2]

template<typename TCellInterface >
double itk::TriangleCell< TCellInterface >::DistanceToLine ( PointType  x,
PointType  p1,
PointType  p2,
double &  t,
PointType &  closestPoint 
)
private

The type of boundary for this triangle's vertices.

◆ EvaluatePosition()

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

The type of boundary for this triangle's vertices.

◆ GetBoundaryFeature()

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

The type of boundary for this triangle's vertices.

◆ GetDimension()

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

The type of boundary for this triangle's vertices.

◆ GetEdge()

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

The type of boundary for this triangle's vertices.

◆ GetNameOfClass()

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

Standard part of every itk Object.

◆ GetNumberOfBoundaryFeatures()

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

The type of boundary for this triangle's vertices.

◆ GetNumberOfEdges()

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

The type of boundary for this triangle's vertices.

◆ GetNumberOfPoints()

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

The type of boundary for this triangle's vertices.

Examples
Examples/DataRepresentation/Mesh/MeshCellVisitor.cxx.

◆ GetNumberOfVertices()

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

Triangle-specific interface.

◆ GetType()

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

Implement the standard CellInterface.

Definition at line 76 of file itkTriangleCell.h.

References itk::CommonEnums::TRIANGLE_CELL.

◆ GetVertex()

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

The type of boundary for this triangle's vertices.

◆ itkCellCommonTypedefs()

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

Standard class type aliases.

◆ itkCellInheritedTypedefs()

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

The type of boundary for this triangle's vertices.

◆ itkCellVisitMacro()

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::itkCellVisitMacro ( CellGeometryEnum::TRIANGLE_CELL  )

Cell visitor interface.

◆ MakeCopy()

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

The type of boundary for this triangle's vertices.

◆ PointIdsBegin() [1/2]

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

The type of boundary for this triangle's vertices.

◆ PointIdsBegin() [2/2]

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

The type of boundary for this triangle's vertices.

◆ PointIdsEnd() [1/2]

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

The type of boundary for this triangle's vertices.

◆ PointIdsEnd() [2/2]

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

The type of boundary for this triangle's vertices.

◆ SetPointId()

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

The type of boundary for this triangle's vertices.

◆ SetPointIds() [1/2]

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

The type of boundary for this triangle's vertices.

◆ SetPointIds() [2/2]

template<typename TCellInterface >
void itk::TriangleCell< 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::TriangleCell< TCellInterface >::CellDimension = 2
staticconstexpr

The type of boundary for this triangle's vertices.

Definition at line 72 of file itkTriangleCell.h.

◆ m_PointIds

template<typename TCellInterface >
std::vector<PointIdentifier> itk::TriangleCell< TCellInterface >::m_PointIds
protected

Store the number of points needed for a triangle.

Definition at line 168 of file itkTriangleCell.h.

◆ NumberOfEdges

template<typename TCellInterface >
constexpr unsigned int itk::TriangleCell< TCellInterface >::NumberOfEdges = 3
staticconstexpr

The type of boundary for this triangle's vertices.

Definition at line 71 of file itkTriangleCell.h.

◆ NumberOfPoints

template<typename TCellInterface >
constexpr unsigned int itk::TriangleCell< TCellInterface >::NumberOfPoints = 3
staticconstexpr

Triangle-specific topology numbers.

Definition at line 69 of file itkTriangleCell.h.

◆ NumberOfVertices

template<typename TCellInterface >
constexpr unsigned int itk::TriangleCell< TCellInterface >::NumberOfVertices = 3
staticconstexpr

The type of boundary for this triangle's vertices.

Definition at line 70 of file itkTriangleCell.h.


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