18 #ifndef itkQuadEdgeMeshPolygonCell_h 19 #define itkQuadEdgeMeshPolygonCell_h 37 template<
typename TCellInterface >
52 typedef typename Superclass::CellType
CellType;
70 itkStaticConstMacro(
PointDimension,
unsigned int, Superclass::PointDimension);
91 typedef typename QuadEdgeType::DualType
QEDual;
114 SelfAutoPointer
New();
117 virtual void Accept(CellIdentifier cellId, MultiVisitor *mv) ITK_OVERRIDE;
119 virtual CellGeometry
GetType() const ITK_OVERRIDE {
return ( Superclass::POLYGON_CELL ); }
124 return ( Superclass::POLYGON_CELL );
137 CellFeatureIdentifier cellId,
138 CellAutoPointer & cell) ITK_OVERRIDE;
141 virtual void MakeCopy(CellAutoPointer & cell)
const ITK_OVERRIDE
144 Self * newPolygonCell =
new Self(numberOfPoints);
147 cell.TakeOwnership(newPolygonCell);
148 if ( numberOfPoints )
150 PointIdentifier i = 0;
157 newPolygonCell->
SetPointId( i, it.Value()->GetOrigin() );
165 virtual void SetPointIds(PointIdConstIterator first) ITK_OVERRIDE;
167 virtual void SetPointIds(PointIdConstIterator first,
168 PointIdConstIterator last) ITK_OVERRIDE;
170 virtual void SetPointId(
int localId, PointIdentifier pId) ITK_OVERRIDE;
172 virtual PointIdentifier
GetPointId(
int localId)
const;
180 return ( static_cast< PointIdIterator >( ITK_NULLPTR ) );
193 return ( static_cast< PointIdIterator >( ITK_NULLPTR ) );
207 return ( static_cast< PointIdIterator >( ITK_NULLPTR ) );
220 return ( static_cast< PointIdIterator >( ITK_NULLPTR ) );
232 PointIdInternalConstIterator last);
261 m_PointIds.push_back( it.Value()->GetOrigin() );
283 #ifndef ITK_MANUAL_INSTANTIATION 284 #include "itkQuadEdgeMeshPolygonCell.hxx" static int GetTopologyId()
Superclass::CellTraits CellTraits
Superclass::PointType PointType
CellTraits::QuadEdgeType QuadEdgeType
QuadEdgeType::OriginRefType VertexRefType
CellTraits::PointIdInternalIterator PointIdInternalIterator
virtual PointIdConstIterator PointIdsEnd() const override
CellType::MultiVisitor MultiVisitor
QuadEdgeMeshLineCell< CellType > EdgeCellType
Superclass::PointsContainer PointsContainer
virtual void InternalSetPointIds(PointIdInternalConstIterator first)
virtual PointIdConstIterator PointIdsBegin() const override
AutoPointer< Self > SelfAutoPointer
std::vector< EdgeCellType * > EdgeCellListType
virtual PointIdIterator PointIdsBegin() override
QuadEdgeType::DualType QEDual
TCellInterface Superclass
virtual unsigned int GetNumberOfPoints() const override
Superclass::CellConstAutoPointer CellConstAutoPointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
void MakePointIds() const
virtual CellGeometry GetType() const override
static const unsigned int PointDimension
virtual void SetPointId(int localId, PointIdentifier pId) override
QuadEdgeType * GetEdgeRingEntry() const
QuadEdgeMeshPolygonCell(PointIdentifier nPoints=0)
void SetEdgeRingEntry(QuadEdgeType *entry)
Superclass::CellFeatureIdentifier CellFeatureCount
static ITK_CONSTEXPR double e
The base of the natural logarithm or Euler's number
virtual void SetPointIds(PointIdConstIterator first) override
Superclass::ParametricCoordArrayType ParametricCoordArrayType
QuadEdgeType::PrimalDataType PrimalDataType
Superclass::CellConstRawPointer CellConstRawPointer
Superclass::CellIdentifier CellIdentifier
static const unsigned int CellDimension
virtual ~QuadEdgeMeshPolygonCell()
Superclass::PointIdentifier PointIdentifier
CellTraits::PointIdInternalConstIterator PointIdInternalConstIterator
AutoPointer< const Self > ConstSelfAutoPointer
Superclass::CoordRepType CoordRepType
Superclass::CellFeatureIdentifier CellFeatureIdentifier
QuadEdgeMeshPolygonCell Self
const Self * ConstRawPointer
std::vector< PointIdentifier > PointIDListType
Superclass::CellRawPointer CellRawPointer
CellIdentifier GetIdent()
Superclass::UsingCellsContainer UsingCellsContainer
virtual CellFeatureCount GetNumberOfBoundaryFeatures(int dimension) const override
virtual void Accept(CellIdentifier cellId, MultiVisitor *mv) override
Superclass::CellType CellType
QuadEdgeType::DualOriginRefType FaceRefType
void SetIdent(CellIdentifier cid)
Superclass::InterpolationWeightType InterpolationWeightType
CellTraits::PointIdIterator PointIdIterator
virtual PointIdentifier GetPointId(int localId) const
EdgeCellListType m_EdgeCellList
CellTraits::PointIdConstIterator PointIdConstIterator
Implements an Automatic Pointer to an object.
virtual unsigned int GetDimension() const override
QuadEdgeType * m_EdgeRingEntry
QuadEdgeType::DualDataType DualDataType
virtual bool GetBoundaryFeature(int dimension, CellFeatureIdentifier cellId, CellAutoPointer &cell) override
Superclass::PixelType PixelType
virtual PointIdInternalIterator InternalPointIdsBegin()
PointIDListType m_PointIds
Superclass::CellAutoPointer CellAutoPointer
Superclass::ShapeFunctionsArrayType ShapeFunctionsArrayType
void operator=(const Self &)
virtual PointIdInternalConstIterator InternalGetPointIds() const
virtual void MakeCopy(CellAutoPointer &cell) const override
virtual PointIdIterator PointIdsEnd() override
Superclass::CellGeometry CellGeometry
Class that connects the QuadEdgeMesh with the Mesh.
virtual PointIdInternalIterator InternalPointIdsEnd()