18#ifndef itkTriangleCell_h
19#define itkTriangleCell_h
45template <
typename TCellInterface>
47 :
public TCellInterface
81 return CellGeometryEnum::TRIANGLE_CELL;
116 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
141 virtual CellFeatureCount
145 virtual CellFeatureCount
167 InterpolationWeightType *)
override;
198 DistanceToLine(PointType x, PointType p1, PointType p2,
double & t, CoordinateType * closestPoint);
201 DistanceToLine(PointType x, PointType p1, PointType p2,
double & t, PointType & closestPoint);
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 *)
static constexpr unsigned int NumberOfPoints
bool GetBoundaryFeature(int dimension, CellFeatureIdentifier, CellAutoPointer &) override
bool EvaluatePosition(CoordinateType *, PointsContainer *, CoordinateType *, CoordinateType[], double *, InterpolationWeightType *) override
virtual bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &)
CoordinateType ComputeArea(PointsContainer *)
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
static constexpr unsigned int NumberOfVertices
double DistanceToLine(PointType x, PointType p1, PointType p2, double &t, CoordinateType *closestPoint)
VertexCell< TCellInterface > VertexType
CellGeometryEnum GetType() const override
std::array< PointIdentifier, NumberOfPoints > m_PointIds
itkCellVisitMacro(CellGeometryEnum::TRIANGLE_CELL)
CellFeatureCount GetNumberOfBoundaryFeatures(int dimension) const override
virtual CellFeatureCount GetNumberOfEdges() const
PointType ComputeBarycenter(CoordinateType *, PointsContainer *)
unsigned int GetDimension() const override
static constexpr unsigned int NumberOfEdges
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)
LineCell< TCellInterface > EdgeType
PointType ComputeCenterOfGravity(PointsContainer *)
void MakeCopy(CellAutoPointer &) const override
void SetPointIds(PointIdConstIterator first, PointIdConstIterator last) override
static constexpr unsigned int CellDimension
Represents a single vertex for a Mesh.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
constexpr TContainer MakeFilled(typename TContainer::const_reference value)
CommonEnums::CellGeometry CellGeometryEnum