18 #ifndef itkQuadraticTriangleCell_h
19 #define itkQuadraticTriangleCell_h
37 template<
typename TCellInterface >
60 static constexpr
unsigned int NumberOfPoints = 6;
61 static constexpr
unsigned int NumberOfVertices = 3;
62 static constexpr
unsigned int NumberOfEdges = 3;
63 static constexpr
unsigned int CellDimension = 2;
67 {
return Superclass::QUADRATIC_TRIANGLE_CELL; }
68 void MakeCopy(CellAutoPointer &)
const override;
71 unsigned int GetDimension()
const override;
73 unsigned int GetNumberOfPoints()
const override;
75 CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const override;
77 bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
78 void SetPointIds(PointIdConstIterator first)
override;
80 void SetPointIds(PointIdConstIterator first,
81 PointIdConstIterator last)
override;
83 void SetPointId(
int localId, PointIdentifier)
override;
84 PointIdIterator PointIdsBegin()
override;
86 PointIdConstIterator PointIdsBegin()
const override;
88 PointIdIterator PointIdsEnd()
override;
90 PointIdConstIterator PointIdsEnd()
const override;
93 virtual CellFeatureCount GetNumberOfVertices()
const;
95 virtual CellFeatureCount GetNumberOfEdges()
const;
97 virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
98 virtual bool GetEdge(CellFeatureIdentifier, EdgeAutoPointer &);
106 void EvaluateShapeFunctions(
107 const ParametricCoordArrayType & parametricCoordinates,
108 ShapeFunctionsArrayType & weights)
const override;
113 for ( PointIdentifier i = 0; i < Self::NumberOfPoints; i++ )
123 PointIdentifier m_PointIds[NumberOfPoints];
127 #ifndef ITK_MANUAL_INSTANTIATION
128 #include "itkQuadraticTriangleCell.hxx"
Define numeric traits for std::vector.
typename VertexType::SelfAutoPointer VertexAutoPointer
An abstract interface for cells.
#define itkCellCommonTypedefs(celltype)
Represents a second order triangular patch for a Mesh.
CellGeometry GetType() const override
Represents a second order line segment for a Mesh.
Represents a single vertex for a Mesh.
QuadraticTriangleCellTopology holds data defining the topological connections of the vertices and edg...
#define itkCellVisitMacro(TopologyId)
#define itkCellInheritedTypedefs(superclassArg)
typename EdgeType::SelfAutoPointer EdgeAutoPointer