18 #ifndef itkQuadEdgeMeshLineCell_h
19 #define itkQuadEdgeMeshLineCell_h
38 template<
typename TCellInterface >
40 public TCellInterface,
public TCellInterface::CellTraits::QuadEdgeType
55 typedef typename Superclass::CellType
CellType;
73 itkStaticConstMacro(PointDimension,
unsigned int, Superclass::PointDimension);
74 itkStaticConstMacro(CellDimension,
unsigned int, 2);
86 typedef typename CellTraits::QuadEdgeType
QEType;
91 typedef typename QEType::DualType
QEDual;
107 void SetIdent(CellIdentifier cid);
109 CellIdentifier GetIdent();
112 virtual
void Accept(CellIdentifier cellId, MultiVisitor *mv) ITK_OVERRIDE;
114 virtual CellGeometry GetType() const ITK_OVERRIDE;
117 static
int GetTopologyId();
119 virtual
unsigned int GetDimension() const ITK_OVERRIDE;
121 virtual
unsigned int GetNumberOfPoints() const ITK_OVERRIDE;
123 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension) const ITK_OVERRIDE;
125 virtual
bool GetBoundaryFeature(
int dimension,
126 CellFeatureIdentifier cellId,
127 CellAutoPointer & cell) ITK_OVERRIDE;
132 cell.TakeOwnership(
new Self);
133 cell->
SetPointId( 0, this->GetQEGeom()->GetOrigin() );
134 cell->SetPointId( 1, this->GetQEGeom()->GetDestination() );
142 virtual void SetPointIds(PointIdConstIterator first) ITK_OVERRIDE;
144 virtual void SetPointIds(PointIdConstIterator first,
145 PointIdConstIterator last) ITK_OVERRIDE;
147 virtual void SetPointId(
int localId, PointIdentifier pId) ITK_OVERRIDE;
151 SynchronizePointsAPI();
152 return &m_PointIds[0];
157 SynchronizePointsAPI();
158 return ( &m_PointIds[1] + 1 );
163 SynchronizePointsAPI();
164 return &m_PointIds[0];
169 SynchronizePointsAPI();
170 return &m_PointIds[0];
175 SynchronizePointsAPI();
176 return ( &m_PointIds[1] + 1 );
182 m_PointIds[0] = GetQEGeom()->GetOrigin();
183 m_PointIds[1] = GetQEGeom()->GetDestination();
188 virtual void InternalSetPointIds(PointIdInternalConstIterator first);
190 virtual void InternalSetPointIds(
191 PointIdInternalConstIterator first,
192 PointIdInternalConstIterator last);
194 virtual PointIdInternalIterator InternalPointIdsBegin();
196 virtual PointIdInternalIterator InternalPointIdsEnd();
198 virtual PointIdInternalConstIterator InternalGetPointIds()
const;
200 virtual PointIdInternalConstIterator InternalPointIdsBegin()
const;
202 virtual PointIdInternalConstIterator InternalPointIdsEnd()
const;
217 #ifndef ITK_MANUAL_INSTANTIATION
218 #include "itkQuadEdgeMeshLineCell.hxx"
CellType::MultiVisitor MultiVisitor
Superclass::CoordRepType CoordRepType
Superclass::PixelType PixelType
virtual PointIdConstIterator PointIdsEnd() const override
QEType * GetQEGeom() const
Superclass::CellFeatureIdentifier CellFeatureIdentifier
CellTraits::QuadEdgeType QEType
Superclass::CellConstRawPointer CellConstRawPointer
virtual PointIdIterator PointIdsBegin() override
Superclass::CellRawPointer CellRawPointer
CellTraits::PointIdInternalIterator PointIdInternalIterator
Superclass::ParametricCoordArrayType ParametricCoordArrayType
Superclass::CellIdentifier CellIdentifier
QEType::PrimalDataType PrimalDataType
Superclass::PointsContainer PointsContainer
Superclass::PointIdentifier PointIdentifier
Superclass::CellAutoPointer CellAutoPointer
virtual PointIdConstIterator PointIdsBegin() const override
Superclass::UsingCellsContainer UsingCellsContainer
const Self * ConstRawPointer
CellTraits::PointIdIterator PointIdIterator
ImageBaseType::PointType PointType
Superclass::ShapeFunctionsArrayType ShapeFunctionsArrayType
CellTraits::PointIdInternalConstIterator PointIdInternalConstIterator
CellTraits::PointIdConstIterator PointIdConstIterator
AutoPointer< Self > SelfAutoPointer
virtual PointIdConstIterator GetPointIds() const override
QuadEdgeMeshLineCell Self
Superclass::CellConstAutoPointer CellConstAutoPointer
QEType::DualOriginRefType FaceRefType
QEType::OriginRefType VertexRefType
Superclass::InterpolationWeightType InterpolationWeightType
Superclass::CellTraits CellTraits
Implements an Automatic Pointer to an object.
QEType::DualDataType DualDataType
Superclass::CellGeometry CellGeometry
void SynchronizePointsAPI() const
Superclass::PointType PointType
TCellInterface Superclass
virtual PointIdIterator PointIdsEnd() override
CellIdentifier m_Identifier
Class that connects the QuadEdgeMesh with the Mesh.
Superclass::CellFeatureIdentifier CellFeatureCount
Superclass::CellType CellType
AutoPointer< const Self > ConstSelfAutoPointer
virtual void SetPointId(int localId, PointIdentifier pId) override