Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes
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 >:

List of all members.

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.
bool IsInOnextRing (Self *)
 Check wether the incoming argument is in the Onext() ring of "this" edge or not.
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().
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().
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.
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.
void UnsetDestination ()
void UnsetDualData ()
void UnsetLeft ()
void UnsetOrigin ()
void UnsetPrimalData ()
void UnsetRight ()

Static Public Attributes

static const OriginRefType m_NoPoint = std::numeric_limits< OriginRefType >::max()

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://insight-journal.org/midas/handle.php?handle=1926/306

See also:
QuadEdge

Definition at line 63 of file itkGeometricalQuadEdge.h.


Member Typedef Documentation

Definition at line 231 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 92 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 83 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 81 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 77 of file itkGeometricalQuadEdge.h.

Iterator types.

Definition at line 230 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 91 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 86 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 80 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 82 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 69 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.

Reimplemented from itk::QuadEdge.

Definition at line 67 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 68 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 42 of file itkGeometricalQuadEdge.txx.

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 116 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 168 of file itkQuadEdge.cxx.

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

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

Definition at line 199 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 392 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 423 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

Definition at line 231 of file itkGeometricalQuadEdge.h.

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

Definition at line 377 of file itkQuadEdge.h.

References itk::QuadEdge::GetDprev().

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

Definition at line 395 of file itkQuadEdge.h.

References itk::QuadEdge::GetDprev().

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

Definition at line 375 of file itkQuadEdge.h.

References itk::QuadEdge::GetLprev().

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

Definition at line 393 of file itkQuadEdge.h.

References itk::QuadEdge::GetLprev().

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

Definition at line 374 of file itkQuadEdge.h.

References itk::QuadEdge::GetOprev().

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

Definition at line 392 of file itkQuadEdge.h.

References itk::QuadEdge::GetOprev().

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

Definition at line 376 of file itkQuadEdge.h.

References itk::QuadEdge::GetRprev().

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

Definition at line 394 of file itkQuadEdge.h.

References itk::QuadEdge::GetRprev().

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

Definition at line 378 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 44 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 75 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 292 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 317 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 261 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 230 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 261 of file itkQuadEdge.cxx.

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

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

Definition at line 488 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 106 of file itkQuadEdge.cxx.

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

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

Definition at line 137 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 262 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 342 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 367 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 310 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 194 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 452 of file itkQuadEdge.cxx.

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

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

Queries.

Definition at line 398 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 125 of file itkGeometricalQuadEdge.txx.

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 101 of file itkGeometricalQuadEdge.txx.

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 475 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 86 of file itkGeometricalQuadEdge.txx.

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 172 of file itkGeometricalQuadEdge.txx.

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 149 of file itkGeometricalQuadEdge.txx.

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 186 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 54 of file itkGeometricalQuadEdge.txx.

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

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

Sub-algebra Set methods.

Definition at line 253 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 254 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 282 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 = std::numeric_limits< OriginRefType >::max()
static
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 Sun Feb 3 2013 01:45:02 for Orfeo Toolbox with doxygen 1.8.1.1