18 #ifndef __itkQuadEdgeMeshLineCell_h
19 #define __itkQuadEdgeMeshLineCell_h
38 template<
class 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;
106 void SetIdent(CellIdentifier cid);
108 CellIdentifier GetIdent();
111 virtual void Accept(CellIdentifier cellId, MultiVisitor *mv);
113 virtual CellGeometry GetType()
const;
116 static int GetTopologyId();
120 virtual unsigned int GetNumberOfPoints()
const;
122 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const;
124 virtual bool GetBoundaryFeature(
int dimension,
125 CellFeatureIdentifier cellId,
126 CellAutoPointer & cell);
131 cell.TakeOwnership(
new Self);
132 cell->SetPointId( 0, this->GetQEGeom()->GetOrigin() );
133 cell->SetPointId( 1, this->GetQEGeom()->GetDestination() );
141 virtual void SetPointIds(PointIdConstIterator first);
143 virtual void SetPointIds(PointIdConstIterator first,
144 PointIdConstIterator last);
146 virtual void SetPointId(
int localId, PointIdentifier pId);
150 SynchronizePointsAPI();
151 return &m_PointIds[0];
156 SynchronizePointsAPI();
157 return ( &m_PointIds[1] + 1 );
162 SynchronizePointsAPI();
163 return &m_PointIds[0];
168 SynchronizePointsAPI();
169 return &m_PointIds[0];
174 SynchronizePointsAPI();
175 return ( &m_PointIds[1] + 1 );
179 void SynchronizePointsAPI()
const
181 m_PointIds[0] = GetQEGeom()->GetOrigin();
182 m_PointIds[1] = GetQEGeom()->GetDestination();
187 virtual void InternalSetPointIds(PointIdInternalConstIterator first);
189 virtual void InternalSetPointIds(
190 PointIdInternalConstIterator first,
191 PointIdInternalConstIterator last);
193 virtual PointIdInternalIterator InternalPointIdsBegin();
195 virtual PointIdInternalIterator InternalPointIdsEnd();
197 virtual PointIdInternalConstIterator InternalGetPointIds()
const;
199 virtual PointIdInternalConstIterator InternalPointIdsBegin()
const;
201 virtual PointIdInternalConstIterator InternalPointIdsEnd()
const;
205 void operator=(
const Self &);
217 #ifndef ITK_MANUAL_INSTANTIATION
218 #include "itkQuadEdgeMeshLineCell.hxx"