![]() |
Orfeo Toolbox
3.16
|
Base class for the implementation of a quad-edge data structure as proposed in "Guibas and Stolfi 1985". More...
#include <itkQuadEdge.h>
Inheritance diagram for itk::QuadEdge:
Collaboration diagram for itk::QuadEdge:Public Types | |
| typedef QuadEdgeMeshConstIterator < Self > | ConstIterator |
| typedef QuadEdgeMeshIterator < Self > | Iterator |
| typedef QuadEdge | Self |
Public Member Functions | |
| QuadEdge () | |
| virtual | ~QuadEdge () |
| Self * | GetDnext () |
| const Self * | GetDnext () const |
| Self * | GetDprev () |
| const Self * | GetDprev () const |
| Self * | GetInvDnext () |
| const Self * | GetInvDnext () const |
| Self * | GetInvLnext () |
| const Self * | GetInvLnext () const |
| Self * | GetInvOnext () |
| const Self * | GetInvOnext () const |
| Self * | GetInvRnext () |
| const Self * | GetInvRnext () const |
| Self * | GetInvRot () |
| const Self * | GetInvRot () const |
| Self * | GetLnext () |
| const Self * | GetLnext () const |
| Self * | GetLprev () |
| const Self * | GetLprev () const |
| Self * | GetOnext () |
| const Self * | GetOnext () const |
| Self * | GetOprev () |
| const Self * | GetOprev () const |
| unsigned int | GetOrder () const |
| Self * | GetRnext () |
| const Self * | GetRnext () const |
| Self * | GetRot () |
| const Self * | GetRot () const |
| Self * | GetRprev () |
| const Self * | GetRprev () const |
| Self * | GetSym () |
| const Self * | GetSym () const |
| bool | IsEdgeInOnextRing (Self *testEdge) const |
| bool | IsHalfEdge () const |
| bool | IsIsolated () const |
| bool | IsLnextGivenSizeCyclic (const int size) const |
| itkQEDefineIteratorMethodsMacro (Onext) | |
| void | SetOnext (Self *onext) |
| void | SetRot (Self *rot) |
| void | Splice (Self *b) |
| Basic quad-edge topological method. | |
Private Attributes | |
| Self * | m_Onext |
| Self * | m_Rot |
Base class for the implementation of a quad-edge data structure as proposed in "Guibas and Stolfi 1985".
This implementation was contributed as a paper to the Insight Journal http://insight-journal.org/midas/handle.php?handle=1926/306
Definition at line 223 of file itkQuadEdge.h.
Definition at line 231 of file itkQuadEdge.h.
| typedef QuadEdgeMeshIterator< Self > itk::QuadEdge::Iterator |
Iterator types.
Definition at line 230 of file itkQuadEdge.h.
| typedef QuadEdge itk::QuadEdge::Self |
Hierarchy typedefs & values.
Reimplemented in itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >.
Definition at line 227 of file itkQuadEdge.h.
| itk::QuadEdge::QuadEdge | ( | ) |
|
virtual |
Definition at line 35 of file itkQuadEdge.cxx.
References NULL.
| QuadEdge * itk::QuadEdge::GetDnext | ( | ) |
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 GetOnext(), GetSym(), and NULL.
| const QuadEdge * itk::QuadEdge::GetDnext | ( | ) | const |
Definition at line 199 of file itkQuadEdge.cxx.
References GetOnext(), GetSym(), and NULL.
| QuadEdge * itk::QuadEdge::GetDprev | ( | ) |
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 GetInvRot(), GetOnext(), and NULL.
Referenced by GetInvDnext().
| const QuadEdge * itk::QuadEdge::GetDprev | ( | ) | const |
Definition at line 423 of file itkQuadEdge.cxx.
References GetInvRot(), GetOnext(), and NULL.
|
inline |
Definition at line 377 of file itkQuadEdge.h.
References GetDprev().
|
inline |
Definition at line 395 of file itkQuadEdge.h.
References GetDprev().
|
inline |
Definition at line 375 of file itkQuadEdge.h.
References GetLprev().
|
inline |
Definition at line 393 of file itkQuadEdge.h.
References GetLprev().
|
inline |
Definition at line 374 of file itkQuadEdge.h.
References GetOprev().
|
inline |
Definition at line 392 of file itkQuadEdge.h.
References GetOprev().
|
inline |
Definition at line 376 of file itkQuadEdge.h.
References GetRprev().
|
inline |
Definition at line 394 of file itkQuadEdge.h.
References GetRprev().
|
inline |
Inverse operators
Definition at line 360 of file itkQuadEdge.h.
References GetRot(), and NULL.
Referenced by GetDprev(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetLeft(), GetRnext(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetLeft(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetLeft().
|
inline |
Definition at line 378 of file itkQuadEdge.h.
| QuadEdge * itk::QuadEdge::GetLnext | ( | ) |
Returns next edge with same Left face (see "Accessing adjacent edges").
Definition at line 44 of file itkQuadEdge.cxx.
References GetOnext(), GetRot(), and NULL.
Referenced by IsLnextGivenSizeCyclic().
| const QuadEdge * itk::QuadEdge::GetLnext | ( | ) | const |
Definition at line 75 of file itkQuadEdge.cxx.
References GetOnext(), GetRot(), and NULL.
| QuadEdge * itk::QuadEdge::GetLprev | ( | ) |
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 GetSym(), and NULL.
Referenced by GetInvLnext().
| const QuadEdge * itk::QuadEdge::GetLprev | ( | ) | const |
Definition at line 317 of file itkQuadEdge.cxx.
|
inline |
Sub-algebra Get methods. Returns edge with same Origin (see "Accessing adjacent edges").
Definition at line 259 of file itkQuadEdge.h.
References m_Onext.
Referenced by GetDnext(), GetDprev(), GetLnext(), GetOprev(), GetOrder(), GetRnext(), GetRprev(), IsIsolated(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginDisconnected(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace(), and Splice().
|
inline |
Definition at line 261 of file itkQuadEdge.h.
References m_Onext.
| QuadEdge * itk::QuadEdge::GetOprev | ( | ) |
Returns previous edge with same Origin (see "Accessing adjacent edges").
Definition at line 230 of file itkQuadEdge.cxx.
References GetOnext(), GetRot(), and NULL.
Referenced by GetInvOnext(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace().
| const QuadEdge * itk::QuadEdge::GetOprev | ( | ) | const |
Definition at line 261 of file itkQuadEdge.cxx.
References GetOnext(), GetRot(), and NULL.
| unsigned int itk::QuadEdge::GetOrder | ( | ) | const |
Definition at line 488 of file itkQuadEdge.cxx.
References GetOnext().
| QuadEdge * itk::QuadEdge::GetRnext | ( | ) |
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 GetInvRot(), GetOnext(), and NULL.
| const QuadEdge * itk::QuadEdge::GetRnext | ( | ) | const |
Definition at line 137 of file itkQuadEdge.cxx.
References GetInvRot(), GetOnext(), and NULL.
|
inline |
Definition at line 260 of file itkQuadEdge.h.
References m_Rot.
Referenced by itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetDualData(), GetInvRot(), GetLnext(), GetOprev(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetRight(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDualDataSet(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetDualData(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetRight(), Splice(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetDualData(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetRight().
|
inline |
Definition at line 262 of file itkQuadEdge.h.
References m_Rot.
| QuadEdge * itk::QuadEdge::GetRprev | ( | ) |
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 GetOnext(), and NULL.
Referenced by GetInvRnext().
| const QuadEdge * itk::QuadEdge::GetRprev | ( | ) | const |
Definition at line 367 of file itkQuadEdge.cxx.
References GetOnext(), and NULL.
|
inline |
Returns the symetric edge (see "Accessing adjacent edges").
Definition at line 302 of file itkQuadEdge.h.
References m_Rot.
Referenced by itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetDestination(), GetDnext(), GetLprev(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationDisconnected(), itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::SetDestination(), and itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::UnsetDestination().
|
inline |
Definition at line 310 of file itkQuadEdge.h.
References m_Rot.
| bool itk::QuadEdge::IsEdgeInOnextRing | ( | Self * | testEdge | ) | const |
Definition at line 452 of file itkQuadEdge.cxx.
References NULL, and itk::QuadEdgeMeshConstIterator< TQuadEdge >::Value().
|
inline |
|
inline |
Definition at line 399 of file itkQuadEdge.h.
References GetOnext().
Referenced by itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetNextBorderEdgeWithUnsetLeft().
| bool itk::QuadEdge::IsLnextGivenSizeCyclic | ( | const int | size | ) | const |
Definition at line 475 of file itkQuadEdge.cxx.
References GetLnext().
|
inline |
Basic iterators methods.
|
inline |
Sub-algebra Set methods.
Definition at line 253 of file itkQuadEdge.h.
References m_Onext.
Referenced by Splice().
|
inline |
Definition at line 254 of file itkQuadEdge.h.
References m_Rot.
|
inline |
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:
Definition at line 282 of file itkQuadEdge.h.
References GetOnext(), GetRot(), and 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().
|
private |
Onext ring
Definition at line 405 of file itkQuadEdge.h.
Referenced by GetOnext(), IsHalfEdge(), and SetOnext().
|
private |
Rot ring
Definition at line 406 of file itkQuadEdge.h.
Referenced by GetRot(), GetSym(), IsHalfEdge(), and SetRot().