18 #ifndef itkQuadEdgeMeshLineCell_h
19 #define itkQuadEdgeMeshLineCell_h
38 template <
typename TCellInterface>
40 :
public TCellInterface
41 ,
public TCellInterface::CellTraits::QuadEdgeType
57 using CellType =
typename Superclass::CellType;
74 static constexpr
unsigned int PointDimension = Superclass::PointDimension;
75 static constexpr
unsigned int CellDimension = 2;
87 using QEType =
typename CellTraits::QuadEdgeType;
92 using QEDual =
typename QEType::DualType;
102 return (m_QuadEdgeGeom);
113 SetIdent(CellIdentifier cid);
120 Accept(CellIdentifier cellId, MultiVisitor * mv)
override;
123 GetType()
const override;
133 GetDimension()
const override;
136 GetNumberOfPoints()
const override;
139 GetNumberOfBoundaryFeatures(
int dimension)
const override;
142 GetBoundaryFeature(
int dimension, CellFeatureIdentifier cellId, CellAutoPointer & cell)
override;
148 cell.TakeOwnership(
new Self);
149 cell->SetPointId(0, this->GetQEGeom()->GetOrigin());
150 cell->SetPointId(1, this->GetQEGeom()->GetDestination());
159 SetPointIds(PointIdConstIterator first)
override;
162 SetPointIds(PointIdConstIterator first, PointIdConstIterator last)
override;
165 SetPointId(
int localId, PointIdentifier pId)
override;
170 SynchronizePointsAPI();
171 return &m_PointIds[0];
177 SynchronizePointsAPI();
178 return (&m_PointIds[1] + 1);
184 SynchronizePointsAPI();
185 return &m_PointIds[0];
191 SynchronizePointsAPI();
192 return &m_PointIds[0];
198 SynchronizePointsAPI();
199 return (&m_PointIds[1] + 1);
206 m_PointIds[0] = GetQEGeom()->GetOrigin();
207 m_PointIds[1] = GetQEGeom()->GetDestination();
213 InternalSetPointIds(PointIdInternalConstIterator first);
216 InternalSetPointIds(PointIdInternalConstIterator first, PointIdInternalConstIterator last);
218 virtual PointIdInternalIterator
219 InternalPointIdsBegin();
221 virtual PointIdInternalIterator
222 InternalPointIdsEnd();
224 virtual PointIdInternalConstIterator
225 InternalGetPointIds()
const;
227 virtual PointIdInternalConstIterator
228 InternalPointIdsBegin()
const;
230 virtual PointIdInternalConstIterator
231 InternalPointIdsEnd()
const;
244 #ifndef ITK_MANUAL_INSTANTIATION
245 # include "itkQuadEdgeMeshLineCell.hxx"