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;
107 void SetIdent(CellIdentifier cid);
109 CellIdentifier GetIdent();
112 virtual void Accept(CellIdentifier cellId, MultiVisitor *mv);
114 virtual CellGeometry GetType()
const;
117 static int GetTopologyId();
119 virtual unsigned int GetDimension()
const;
121 virtual unsigned int GetNumberOfPoints()
const;
123 virtual CellFeatureCount GetNumberOfBoundaryFeatures(
int dimension)
const;
125 virtual bool GetBoundaryFeature(
int dimension,
126 CellFeatureIdentifier cellId,
127 CellAutoPointer & cell);
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);
144 virtual void SetPointIds(PointIdConstIterator first,
145 PointIdConstIterator last);
147 virtual void SetPointId(
int localId, PointIdentifier pId);
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 );
180 void SynchronizePointsAPI()
const
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;
206 void operator=(
const Self &);
218 #ifndef ITK_MANUAL_INSTANTIATION
219 #include "itkQuadEdgeMeshLineCell.hxx"