18 #ifndef itkQuadraticEdgeCell_h
19 #define itkQuadraticEdgeCell_h
36 template<
typename TCellInterface >
55 static constexpr
unsigned int NumberOfPoints = 3;
56 static constexpr
unsigned int NumberOfVertices = 2;
57 static constexpr
unsigned int CellDimension = 1;
61 {
return Superclass::QUADRATIC_EDGE_CELL; }
62 void MakeCopy(CellAutoPointer &)
const override;
65 unsigned int GetDimension()
const override;
67 unsigned int GetNumberOfPoints()
const override;
69 CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const override;
71 bool GetBoundaryFeature(
int dimension, CellFeatureIdentifier, CellAutoPointer &)
override;
72 void SetPointIds(PointIdConstIterator first)
override;
74 void SetPointIds(PointIdConstIterator first,
75 PointIdConstIterator last)
override;
77 void SetPointId(
int localId, PointIdentifier)
override;
78 PointIdIterator PointIdsBegin()
override;
80 PointIdConstIterator PointIdsBegin()
const override;
82 PointIdIterator PointIdsEnd()
override;
84 PointIdConstIterator PointIdsEnd()
const override;
87 virtual CellFeatureCount GetNumberOfVertices()
const;
89 virtual bool GetVertex(CellFeatureIdentifier, VertexAutoPointer &);
96 for ( PointIdentifier i = 0; i < Self::NumberOfPoints; i++ )
106 void EvaluateShapeFunctions(
107 const ParametricCoordArrayType & parametricCoordinates,
108 ShapeFunctionsArrayType & weights)
const override;
112 PointIdentifier m_PointIds[NumberOfPoints];
116 #ifndef ITK_MANUAL_INSTANTIATION
117 #include "itkQuadraticEdgeCell.hxx"
CellGeometry GetType() const override
Define numeric traits for std::vector.
An abstract interface for cells.
#define itkCellCommonTypedefs(celltype)
Represents a second order line segment for a Mesh.
typename VertexType::SelfAutoPointer VertexAutoPointer
Represents a single vertex for a Mesh.
#define itkCellVisitMacro(TopologyId)
#define itkCellInheritedTypedefs(superclassArg)