Orfeo Toolbox  4.0
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual > Class Template Reference

This class extends the QuadEdge by adding a reference to the Origin. More...

#include <itkGeometricalQuadEdge.h>

+ Inheritance diagram for itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >:
+ Collaboration diagram for itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >:

Public Types

typedef
QuadEdgeMeshConstIterator
< Self
ConstIterator
 
typedef
QuadEdgeMeshConstIteratorGeom
< Self
ConstIteratorGeom
 
typedef TDualData DualDataType
 
typedef TFRef DualOriginRefType
 
typedef GeometricalQuadEdge
< TFRef, TVRef, TDualData,
TPrimalData,!PrimalDual > 
DualType
 
typedef QuadEdgeMeshIterator
< Self
Iterator
 
typedef
QuadEdgeMeshIteratorGeom< Self
IteratorGeom
 
typedef TFRef LineCellIdentifier
 
typedef TVRef OriginRefType
 
typedef TPrimalData PrimalDataType
 
typedef SelfRawPointer
 
typedef GeometricalQuadEdge Self
 
typedef QuadEdge Superclass
 

Public Member Functions

 GeometricalQuadEdge ()
 
virtual ~GeometricalQuadEdge ()
 
void Disconnect ()
 
const OriginRefType GetDestination () const
 
SelfGetDnext ()
 
const SelfGetDnext () const
 
SelfGetDprev ()
 
const SelfGetDprev () const
 
DualDataType GetDualData ()
 
LineCellIdentifier GetIdent ()
 
SelfGetInvDnext ()
 
const SelfGetInvDnext () const
 
SelfGetInvLnext ()
 
const SelfGetInvLnext () const
 
SelfGetInvOnext ()
 
const SelfGetInvOnext () const
 
SelfGetInvRnext ()
 
const SelfGetInvRnext () const
 
SelfGetInvRot ()
 
const SelfGetInvRot () const
 
const DualOriginRefType GetLeft () const
 
SelfGetLnext ()
 
const SelfGetLnext () const
 
SelfGetLprev ()
 
const SelfGetLprev () const
 
SelfGetNextBorderEdgeWithUnsetLeft (Self *edgeTest=0)
 
SelfGetOnext ()
 
const SelfGetOnext () const
 
SelfGetOprev ()
 
const SelfGetOprev () const
 
unsigned int GetOrder () const
 
const OriginRefType GetOrigin () const
 
PrimalDataType GetPrimalData ()
 
const DualOriginRefType GetRight () const
 
SelfGetRnext ()
 
const SelfGetRnext () const
 
SelfGetRot ()
 
const SelfGetRot () const
 
SelfGetRprev ()
 
const SelfGetRprev () const
 
SelfGetSym ()
 
const SelfGetSym () const
 
bool InsertAfterNextBorderEdgeWithUnsetLeft (Self *isol, Self *hint=0)
 
bool IsAtBorder ()
 
bool IsDestinationDisconnected ()
 
bool IsDestinationSet () const
 
bool IsDisconnected ()
 
bool IsDualDataSet ()
 
bool IsEdgeInOnextRing (Self *testEdge) const
 
bool IsHalfEdge () const
 
bool IsInLnextRing (Self *)
 Check wether the incoming argument is in the Lnext() ring of "this" edge or not. More...
 
bool IsInOnextRing (Self *)
 Check wether the incoming argument is in the Onext() ring of "this" edge or not. More...
 
bool IsInternal () const
 
bool IsIsolated () const
 
bool IsLeftSet () const
 
bool IsLnextGivenSizeCyclic (const int size) const
 
bool IsLnextOfTriangle ()
 Check wether the Lnext() ring of "this" edge is exactly of size three AND if those three edges all share the same Left(). More...
 
bool IsLnextSharingSameFace (int maxSize=100)
 Consider the first few edges in Lnext() ring of "this" edge. Check wether those edges all share the same Left(). More...
 
bool IsOriginDisconnected ()
 
bool IsOriginInternal () const
 Check wether edge's Origin is internal to the mesh (as opposed to being on the boundary) by looking if all the edges in the Onext() ring have a face set on both their Left() and Right() side. More...
 
bool IsOriginSet () const
 
bool IsPrimalDataSet ()
 
bool IsRightSet () const
 
bool IsWire ()
 
 itkQEAccessorsMacro (Superclass, Self, DualType)
 
 itkQEDefineIteratorGeomMethodsMacro (Onext)
 
 itkQEDefineIteratorGeomMethodsMacro (Sym)
 
 itkQEDefineIteratorGeomMethodsMacro (Lnext)
 
 itkQEDefineIteratorGeomMethodsMacro (Rnext)
 
 itkQEDefineIteratorGeomMethodsMacro (Dnext)
 
 itkQEDefineIteratorGeomMethodsMacro (Oprev)
 
 itkQEDefineIteratorGeomMethodsMacro (Lprev)
 
 itkQEDefineIteratorGeomMethodsMacro (Rprev)
 
 itkQEDefineIteratorGeomMethodsMacro (Dprev)
 
 itkQEDefineIteratorGeomMethodsMacro (InvOnext)
 
 itkQEDefineIteratorGeomMethodsMacro (InvLnext)
 
 itkQEDefineIteratorGeomMethodsMacro (InvRnext)
 
 itkQEDefineIteratorGeomMethodsMacro (InvDnext)
 
 itkQEDefineIteratorMethodsMacro (Onext)
 
bool ReorderOnextRingBeforeAddFace (Self *second)
 
void SetDestination (const OriginRefType v)
 
void SetDualData (const DualDataType data)
 
void SetDualData ()
 
void SetIdent (const LineCellIdentifier &User_Value)
 
void SetLeft (const DualOriginRefType v)
 
bool SetLnextRingWithSameLeftFace (const DualOriginRefType faceGeom, int maxSize=100)
 
void SetOnext (Self *onext)
 
void SetOrigin (const OriginRefType v)
 
void SetPrimalData (const PrimalDataType data)
 
void SetPrimalData ()
 
void SetRight (const DualOriginRefType v)
 
void SetRot (Self *rot)
 
void Splice (Self *b)
 Basic quad-edge topological method. More...
 
void UnsetDestination ()
 
void UnsetDualData ()
 
void UnsetLeft ()
 
void UnsetOrigin ()
 
void UnsetPrimalData ()
 
void UnsetRight ()
 

Static Public Attributes

static const OriginRefType m_NoPoint
 

Protected Attributes

PrimalDataType m_Data
 
bool m_DataSet
 
LineCellIdentifier m_LineCellIdent
 
OriginRefType m_Origin
 

Detailed Description

template<typename TVRef, typename TFRef, typename TPrimalData, typename TDualData, bool PrimalDual = true>
class itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >

This class extends the QuadEdge by adding a reference to the Origin.

The class is implemented in such a way that it can generate its own Dual. In a physical edge, there will be four GeometricalQuadEdge. Two of them will be Primal and two will be Dual. The Primal ones are parallel to the physical edge and their origins relate to the mesh points. The Dual ones are orthogonal to the physical edge and their origins relate to the faces at each side of the physical edge.

The only purpose of the last paramater of the template is to guarantee that the two types GeometricalQuadEdge and GeometricalQuadEdge::Dual are always different (in the sense that their typeid() are different). If we only had the four first parameters and assume that GeometricalQuadEdge gets instantiated with types such that TVRef = TFRef and TPrimalData = TDualData then this instantiation GeometricalQuadEdge and GeometricalQuadEdge::Dual would be the same types (this is simply due to the very definition of GeometricalQuadEdge::Dual). This would in turn make the types QEType and QEDual of QuadEdgeMesh identical and would prevent any algorithm requiring to distinguish those types (e.g. by relying on a dynamic_cast<QEType*>) to be effective. This justifies the existence of last dummy template parameter and it's default value.

Author
Alexandre Gouaillard, Leonardo Florez-Valencia, Eric Boix

This implementation was contributed as a paper to the Insight Journal http://hdl.handle.net/1926/306

See Also
QuadEdge

Definition at line 62 of file itkGeometricalQuadEdge.h.

Member Typedef Documentation

Definition at line 230 of file itkQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef QuadEdgeMeshConstIteratorGeom< Self > itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ConstIteratorGeom

Definition at line 91 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef TDualData itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualDataType

Definition at line 82 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef TFRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualOriginRefType

Definition at line 80 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef GeometricalQuadEdge< TFRef, TVRef, TDualData, TPrimalData, !PrimalDual > itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualType

Dual type, basically the same type with swapped template parameters.

Definition at line 76 of file itkGeometricalQuadEdge.h.

Iterator types.

Definition at line 229 of file itkQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef QuadEdgeMeshIteratorGeom< Self > itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IteratorGeom

Iterator types.

Definition at line 90 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef TFRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::LineCellIdentifier

Definition at line 85 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef TVRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::OriginRefType

Input template parameters & values convenient renaming.

Definition at line 79 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef TPrimalData itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::PrimalDataType

Definition at line 81 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef Self* itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::RawPointer

Definition at line 68 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef GeometricalQuadEdge itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Self

Hierarchy typedefs.

Definition at line 66 of file itkGeometricalQuadEdge.h.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
typedef QuadEdge itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Superclass

Definition at line 67 of file itkGeometricalQuadEdge.h.

Constructor & Destructor Documentation

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GeometricalQuadEdge ( )

Memory creation methods.

Constructor

Definition at line 41 of file itkGeometricalQuadEdge.hxx.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
virtual itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::~GeometricalQuadEdge ( )
inlinevirtual

Definition at line 114 of file itkGeometricalQuadEdge.h.

Member Function Documentation

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Disconnect ( )
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
const OriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetDestination ( ) const
inline
QuadEdge * itk::QuadEdge::GetDnext ( )
inherited

Returns next edge with same right face and same Destination. The first edge encountered when moving counter-clockwise from e (see "Accessing adjacent edges").

Definition at line 161 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetSym(), and NULL.

const QuadEdge * itk::QuadEdge::GetDnext ( ) const
inherited

Definition at line 191 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetSym(), and NULL.

QuadEdge * itk::QuadEdge::GetDprev ( )
inherited

Returns the previous edge with same Right face and same Destination. The first edge encountered when moving clockwise from e around e->Dest. (see "Accessing adjacent edges").

Definition at line 377 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetInvRot(), itk::QuadEdge::GetOnext(), and NULL.

Referenced by itk::QuadEdge::GetInvDnext().

const QuadEdge * itk::QuadEdge::GetDprev ( ) const
inherited

Definition at line 407 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetInvRot(), itk::QuadEdge::GetOnext(), and NULL.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
DualDataType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetDualData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
LineCellIdentifier itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetIdent ( )
inline
Self* itk::QuadEdge::GetInvDnext ( )
inlineinherited

Definition at line 384 of file itkQuadEdge.h.

References itk::QuadEdge::GetDprev().

const Self* itk::QuadEdge::GetInvDnext ( ) const
inlineinherited

Definition at line 403 of file itkQuadEdge.h.

References itk::QuadEdge::GetDprev().

Self* itk::QuadEdge::GetInvLnext ( )
inlineinherited

Definition at line 382 of file itkQuadEdge.h.

References itk::QuadEdge::GetLprev().

const Self* itk::QuadEdge::GetInvLnext ( ) const
inlineinherited

Definition at line 401 of file itkQuadEdge.h.

References itk::QuadEdge::GetLprev().

Self* itk::QuadEdge::GetInvOnext ( )
inlineinherited

Definition at line 381 of file itkQuadEdge.h.

References itk::QuadEdge::GetOprev().

const Self* itk::QuadEdge::GetInvOnext ( ) const
inlineinherited

Definition at line 400 of file itkQuadEdge.h.

References itk::QuadEdge::GetOprev().

Self* itk::QuadEdge::GetInvRnext ( )
inlineinherited

Definition at line 383 of file itkQuadEdge.h.

References itk::QuadEdge::GetRprev().

const Self* itk::QuadEdge::GetInvRnext ( ) const
inlineinherited

Definition at line 402 of file itkQuadEdge.h.

References itk::QuadEdge::GetRprev().

Self* itk::QuadEdge::GetInvRot ( )
inlineinherited
const Self* itk::QuadEdge::GetInvRot ( ) const
inlineinherited

Definition at line 385 of file itkQuadEdge.h.

References itk::QuadEdge::GetRot(), and NULL.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
const DualOriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetLeft ( ) const
inline
QuadEdge * itk::QuadEdge::GetLnext ( )
inherited

Returns next edge with same Left face (see "Accessing adjacent edges").

Definition at line 41 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetRot(), and NULL.

Referenced by itk::QuadEdge::IsLnextGivenSizeCyclic().

const QuadEdge * itk::QuadEdge::GetLnext ( ) const
inherited

Definition at line 71 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetRot(), and NULL.

QuadEdge * itk::QuadEdge::GetLprev ( )
inherited

Returns previous edge with same Left face. The first edge encountered when moving clockwise from e around e->Left. (see "Accessing adjacent edges").

Definition at line 281 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetSym(), and NULL.

Referenced by itk::QuadEdge::GetInvLnext().

const QuadEdge * itk::QuadEdge::GetLprev ( ) const
inherited

Definition at line 305 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetSym(), and NULL.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Self * itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetNextBorderEdgeWithUnsetLeft ( Self edgeTest = 0)
Self* itk::QuadEdge::GetOnext ( )
inlineinherited
const Self* itk::QuadEdge::GetOnext ( ) const
inlineinherited

Definition at line 260 of file itkQuadEdge.h.

References itk::QuadEdge::m_Onext.

QuadEdge * itk::QuadEdge::GetOprev ( )
inherited

Returns previous edge with same Origin (see "Accessing adjacent edges").

Definition at line 221 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetRot(), and NULL.

Referenced by itk::QuadEdge::GetInvOnext(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace().

const QuadEdge * itk::QuadEdge::GetOprev ( ) const
inherited

Definition at line 251 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetRot(), and NULL.

unsigned int itk::QuadEdge::GetOrder ( ) const
inherited

Definition at line 473 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
const OriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetOrigin ( void  ) const
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
PrimalDataType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetPrimalData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
const DualOriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetRight ( void  ) const
inline
QuadEdge * itk::QuadEdge::GetRnext ( )
inherited

Returns next edge with same Right face. The first edge encountered when moving counter-clockwise from e around e->Right. (see "Accessing adjacent edges").

Definition at line 101 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetInvRot(), itk::QuadEdge::GetOnext(), and NULL.

const QuadEdge * itk::QuadEdge::GetRnext ( ) const
inherited

Definition at line 131 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetInvRot(), itk::QuadEdge::GetOnext(), and NULL.

Self* itk::QuadEdge::GetRot ( )
inlineinherited
const Self* itk::QuadEdge::GetRot ( ) const
inlineinherited

Definition at line 261 of file itkQuadEdge.h.

References itk::QuadEdge::m_Rot.

QuadEdge * itk::QuadEdge::GetRprev ( )
inherited

Returns the previous edge with same Right face. The first edge encountered when moving clockwise from e around e->Right. (see "Accessing adjacent edges").

Definition at line 329 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), and NULL.

Referenced by itk::QuadEdge::GetInvRnext().

const QuadEdge * itk::QuadEdge::GetRprev ( ) const
inherited

Definition at line 353 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetOnext(), and NULL.

Self* itk::QuadEdge::GetSym ( )
inlineinherited
const Self* itk::QuadEdge::GetSym ( ) const
inlineinherited

Definition at line 309 of file itkQuadEdge.h.

References itk::QuadEdge::m_Rot.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::InsertAfterNextBorderEdgeWithUnsetLeft ( Self isol,
Self hint = 0 
)
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsAtBorder ( )
inline
Returns
Returns true when "this" is on the boundary i.e. one and only one of the faces is set. Return false otherwise.

Definition at line 195 of file itkGeometricalQuadEdge.h.

References itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLeftSet(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationDisconnected ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationSet ( ) const
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDisconnected ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDualDataSet ( )
inline
bool itk::QuadEdge::IsEdgeInOnextRing ( Self testEdge) const
inherited

Definition at line 436 of file itkQuadEdge.cxx.

References NULL, and itk::QuadEdgeMeshConstIterator< TQuadEdge >::Value().

bool itk::QuadEdge::IsHalfEdge ( ) const
inlineinherited

Queries.

Definition at line 406 of file itkQuadEdge.h.

References itk::QuadEdge::m_Onext, itk::QuadEdge::m_Rot, and NULL.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsInLnextRing ( Self b)

Check wether the incoming argument is in the Lnext() ring of "this" edge or not.

Parameters
bThe edge to test.
Returns
Returns true when "this" edge and the incoming argument are in the same Lnext() ring. Returns false otherwise.

Definition at line 120 of file itkGeometricalQuadEdge.hxx.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsInOnextRing ( Self b)

Check wether the incoming argument is in the Onext() ring of "this" edge or not.

Parameters
bThe edge to test.
Returns
Returns true when "this" edge and the incoming argument are in the same Onext() ring. Returns false otherwise.

Definition at line 97 of file itkGeometricalQuadEdge.hxx.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsInternal ( ) const
inline
bool itk::QuadEdge::IsIsolated ( ) const
inlineinherited
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLeftSet ( ) const
bool itk::QuadEdge::IsLnextGivenSizeCyclic ( const int  size) const
inherited

Definition at line 459 of file itkQuadEdge.cxx.

References itk::QuadEdge::GetLnext().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLnextOfTriangle ( )

Check wether the Lnext() ring of "this" edge is exactly of size three AND if those three edges all share the same Left().

Returns
Returns true when the Lnext() ring is the one of a triangle. Returns false otherwise.

Definition at line 83 of file itkGeometricalQuadEdge.hxx.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLnextSharingSameFace ( int  maxSize = 100)

Consider the first few edges in Lnext() ring of "this" edge. Check wether those edges all share the same Left().

Parameters
maxSizeLooks at most maxSize edges in the Lnext() ring.
Returns
Returns true when the Lnext() ring share THE same Left() faces. Return false otherwise.

Definition at line 167 of file itkGeometricalQuadEdge.hxx.

References itk::QuadEdgeMeshIterator< TQuadEdge >::Value().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginDisconnected ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginInternal ( ) const

Check wether edge's Origin is internal to the mesh (as opposed to being on the boundary) by looking if all the edges in the Onext() ring have a face set on both their Left() and Right() side.

Definition at line 144 of file itkGeometricalQuadEdge.hxx.

References itk::QuadEdgeMeshConstIterator< TQuadEdge >::Value().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginSet ( ) const
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsPrimalDataSet ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet ( ) const
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsWire ( )
inline
Returns
Returns true when "this" has no faces set on both sides. Return false otherwise.

Definition at line 187 of file itkGeometricalQuadEdge.h.

References itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLeftSet(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEAccessorsMacro ( Superclass  ,
Self  ,
DualType   
)

QE macros.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Onext  )
inline

Basic iterators methods.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Sym  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Lnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Rnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Dnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Oprev  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Lprev  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Rprev  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( Dprev  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( InvOnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( InvLnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( InvRnext  )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEDefineIteratorGeomMethodsMacro ( InvDnext  )
inline
itk::QuadEdge::itkQEDefineIteratorMethodsMacro ( Onext  )
inlineinherited

Basic iterators methods.

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace ( Self second)
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetDestination ( const OriginRefType  v)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetDualData ( const DualDataType  data)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetDualData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetIdent ( const LineCellIdentifier User_Value)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetLeft ( const DualOriginRefType  v)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetLnextRingWithSameLeftFace ( const DualOriginRefType  faceGeom,
int  maxSize = 100 
)

Set the Left() of all the edges in the Lnext() ring of "this" with the same given geometrical information.

Parameters
faceGeomLooks at most maxSize edges in the Lnext() ring.
maxSizeSets at most maxSize edges in the Lnext() ring.
Returns
Returns true on success. False otherwise.

Definition at line 51 of file itkGeometricalQuadEdge.hxx.

References itkQEDebugMacro, and itk::QuadEdgeMeshIterator< TQuadEdge >::Value().

void itk::QuadEdge::SetOnext ( Self onext)
inlineinherited

Sub-algebra Set methods.

Definition at line 252 of file itkQuadEdge.h.

References itk::QuadEdge::m_Onext.

Referenced by itk::QuadEdge::Splice().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetOrigin ( const OriginRefType  v)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetPrimalData ( const PrimalDataType  data)
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetPrimalData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetRight ( const DualOriginRefType  v)
inline
void itk::QuadEdge::SetRot ( Self rot)
inlineinherited

Definition at line 253 of file itkQuadEdge.h.

References itk::QuadEdge::m_Rot.

void itk::QuadEdge::Splice ( Self b)
inlineinherited

Basic quad-edge topological method.

This method describes all possible topological operations on an edge.

It is its own inverse. It works in two ways:

  1. If this->GetOrg() != b->GetOrg(), it slice a face in two.
  2. If this->GetOrg() == b->GetOrg(), it unifies two faces.
Warning
This class only handles of the connectivity and is not aware of the geometry that lies at the GeometricalQuadEdge level. It is strongly discouraged to use this method. Instead you should use itk::QuadEdgeMesh::Splice it's geometry aware version.

Definition at line 281 of file itkQuadEdge.h.

References itk::QuadEdge::GetOnext(), itk::QuadEdge::GetRot(), and itk::QuadEdge::SetOnext().

Referenced by itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Disconnect(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::InsertAfterNextBorderEdgeWithUnsetLeft(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetDestination ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetDualData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetLeft ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetOrigin ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetPrimalData ( )
inline
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetRight ( )
inline

Member Data Documentation

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
PrimalDataType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::m_Data
protected
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::m_DataSet
protected
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
LineCellIdentifier itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::m_LineCellIdent
protected
template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
const GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::OriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::m_NoPoint
static
Initial value:
=
std::numeric_limits< OriginRefType >::max()

Definition at line 243 of file itkGeometricalQuadEdge.h.

Referenced by itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetOrigin().

template<typename TVRef , typename TFRef , typename TPrimalData , typename TDualData , bool PrimalDual = true>
OriginRefType itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::m_Origin
protected

The documentation for this class was generated from the following files:

Generated at Sat Mar 8 2014 17:03:58 for Orfeo Toolbox with doxygen 1.8.3.1