18#ifndef itkGeometricalQuadEdge_h
19#define itkGeometricalQuadEdge_h
60template <
typename TVRef,
typename TFRef,
typename TPrimalData,
typename TDualData,
bool PrimalDual = true>
130 this->
GetSym()->SetOrigin(v);
136 this->
GetRot()->SetOrigin(v);
163 this->
GetSym()->UnsetOrigin();
168 this->
GetRot()->UnsetOrigin();
179 inline const OriginRefType
184 inline const OriginRefType
189 inline const DualOriginRefType
194 inline const DualOriginRefType
224 this->
GetRot()->SetPrimalData(data);
236 this->
GetRot()->SetPrimalData();
247 this->
GetRot()->UnsetPrimalData();
251 inline PrimalDataType
357 inline LineCellIdentifier
375#ifndef ITK_MANUAL_INSTANTIATION
376# include "itkGeometricalQuadEdge.hxx"
const OriginRefType GetOrigin() const
bool IsOriginInternal() const
bool IsInLnextRing(Self *)
QuadEdgeMeshConstIteratorGeom< Self > ConstIteratorGeom
QuadEdgeMeshIteratorGeom< Self > IteratorGeom
Self * GetNextBorderEdgeWithUnsetLeft(Self *edgeTest=nullptr)
void SetRight(const DualOriginRefType v)
itkQEDefineIteratorGeomMethodsMacro(InvRnext)
itkQEDefineIteratorGeomMethodsMacro(InvDnext)
itkQEDefineIteratorGeomMethodsMacro(Rprev)
itkQEDefineIteratorGeomMethodsMacro(Lprev)
itkQEDefineIteratorGeomMethodsMacro(InvOnext)
~GeometricalQuadEdge() override=default
itkQEDefineIteratorGeomMethodsMacro(Sym)
itkQEDefineIteratorGeomMethodsMacro(Lnext)
itkQEDefineIteratorGeomMethodsMacro(Rnext)
bool IsOriginDisconnected()
void SetDualData(const DualDataType data)
itkQEDefineIteratorGeomMethodsMacro(Onext)
itkQEDefineIteratorGeomMethodsMacro(InvLnext)
const OriginRefType GetDestination() const
bool IsDestinationSet() const
itkQEDefineIteratorGeomMethodsMacro(Dnext)
void SetPrimalData(const PrimalDataType data)
GeometricalQuadEdge(GeometricalQuadEdge &&)=default
void SetDestination(const OriginRefType v)
itkQEDefineIteratorGeomMethodsMacro(Dprev)
LineCellIdentifier GetIdent()
bool InsertAfterNextBorderEdgeWithUnsetLeft(Self *isol, Self *hint=nullptr)
static const OriginRefType m_NoPoint
bool SetLnextRingWithSameLeftFace(const DualOriginRefType faceGeom, int maxSize=100)
itkQEDefineIteratorGeomMethodsMacro(Oprev)
GeometricalQuadEdge & operator=(GeometricalQuadEdge &&)=default
bool IsDestinationDisconnected()
const DualOriginRefType GetRight() const
bool IsLnextSharingSameFace(int maxSize=100)
bool ReorderOnextRingBeforeAddFace(Self *second)
void SetLeft(const DualOriginRefType v)
const DualOriginRefType GetLeft() const
PrimalDataType GetPrimalData()
GeometricalQuadEdge & operator=(const GeometricalQuadEdge &)=default
itkQEAccessorsMacro(Superclass, Self, DualType)
GeometricalQuadEdge(const GeometricalQuadEdge &)=default
DualDataType GetDualData()
void SetIdent(const LineCellIdentifier &User_Value)
void SetOrigin(const OriginRefType v)
GeometricalQuadEdge< TFRef, TVRef, TDualData, TPrimalData, !PrimalDual > DualType
bool IsInOnextRing(Self *)
LineCellIdentifier m_LineCellIdent
Const geometrical iterator.
Non const geometrical iterator.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....