18#ifndef itkTriangleCell_h
19#define itkTriangleCell_h
45template <
typename TCellInterface>
47 :
public TCellInterface
70 static constexpr unsigned int NumberOfPoints = 3;
71 static constexpr unsigned int NumberOfVertices = 3;
72 static constexpr unsigned int NumberOfEdges = 3;
73 static constexpr unsigned int CellDimension = 2;
116 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
141 virtual CellFeatureCount
145 virtual CellFeatureCount
167 InterpolationWeightType *)
override;
191 std::array<PointIdentifier, NumberOfPoints> m_PointIds{ MakeFilled<std::array<PointIdentifier, NumberOfPoints>>(
205#ifndef ITK_MANUAL_INSTANTIATION
206# include "itkTriangleCell.hxx"
Represents a line segment for a Mesh.
static constexpr T max(const T &)
typename EdgeType::SelfAutoPointer EdgeAutoPointer
PointType ComputeCircumCenter(PointsContainer *)
bool GetBoundaryFeature(int dimension, CellFeatureIdentifier, CellAutoPointer &) override
virtual bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &)
bool EvaluatePosition(CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *) override
virtual CellFeatureCount GetNumberOfVertices() const
itkCellInheritedTypedefs(TCellInterface)
PointIdConstIterator PointIdsEnd() const override
~TriangleCell() override=default
void SetPointId(int localId, PointIdentifier) override
PointIdConstIterator PointIdsBegin() const override
void SetPointIds(PointIdConstIterator first) override
unsigned int GetNumberOfPoints() const override
typename VertexType::SelfAutoPointer VertexAutoPointer
CellGeometryEnum GetType() const override
double DistanceToLine(PointType x, PointType p1, PointType p2, double &t, CoordRepType *closestPoint)
itkCellVisitMacro(CellGeometryEnum::TRIANGLE_CELL)
CellFeatureCount GetNumberOfBoundaryFeatures(int dimension) const override
virtual CellFeatureCount GetNumberOfEdges() const
PointType ComputeBarycenter(CoordRepType *, PointsContainer *)
unsigned int GetDimension() const override
PointIdIterator PointIdsEnd() override
PointIdIterator PointIdsBegin() override
virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &)
double DistanceToLine(PointType x, PointType p1, PointType p2, double &t, PointType &closestPoint)
itkCellCommonTypedefs(TriangleCell)
CoordRepType ComputeArea(PointsContainer *)
PointType ComputeCenterOfGravity(PointsContainer *)
void MakeCopy(CellAutoPointer &) const override
void SetPointIds(PointIdConstIterator first, PointIdConstIterator last) override
Represents a single vertex for a Mesh.
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....