17 #ifndef __itkQuadrilateralCell_txx
18 #define __itkQuadrilateralCell_txx
27 template <
typename TCellInterface>
32 cellPointer.TakeOwnership(
new Self );
33 cellPointer->SetPointIds(this->GetPointIds());
41 template <
typename TCellInterface>
46 return Self::CellDimension;
54 template <
typename TCellInterface>
59 return Self::NumberOfPoints;
67 template <
typename TCellInterface>
74 case 0:
return GetNumberOfVertices();
75 case 1:
return GetNumberOfEdges();
87 template <
typename TCellInterface>
97 if( this->GetVertex(featureId,vertexPointer) )
112 if( this->GetEdge(featureId,edgePointer) )
140 template <
typename TCellInterface>
145 PointIdConstIterator ii(first);
146 for(
unsigned int i=0; i < Self::NumberOfPoints; ++i)
148 m_PointIds[i] = *ii++;
160 template <
typename TCellInterface>
166 PointIdConstIterator ii(first);
170 m_PointIds[localId++] = *ii++;
179 template <
typename TCellInterface>
184 m_PointIds[localId] = ptId;
192 template <
typename TCellInterface >
197 return &m_PointIds[0];
206 template <
typename TCellInterface>
211 return &m_PointIds[0];
219 template <
typename TCellInterface>
224 return &m_PointIds[Self::NumberOfPoints-1] + 1;
232 template <
typename TCellInterface >
237 return &m_PointIds[Self::NumberOfPoints-1] + 1;
244 template <
typename TCellInterface>
249 return NumberOfVertices;
256 template <
typename TCellInterface>
261 return Self::NumberOfEdges;
269 template <
typename TCellInterface>
276 vertexPointer.TakeOwnership( vert );
285 template <
typename TCellInterface>
291 for(
int i=0; i < EdgeType::NumberOfPoints; ++i)
293 edge->
SetPointId(i, m_PointIds[ m_Edges[edgeId][i] ]);
295 edgePointer.TakeOwnership( edge );