ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkGeometricalQuadEdge.h>
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.
This implementation was contributed as a paper to the Insight Journal https://hdl.handle.net/1926/306
Definition at line 62 of file itkGeometricalQuadEdge.h.
Public Types | |
typedef QuadEdgeMeshConstIteratorGeom < Self > | ConstIteratorGeom |
typedef TDualData | DualDataType |
typedef TFRef | DualOriginRefType |
typedef GeometricalQuadEdge < TFRef, TVRef, TDualData, TPrimalData,!PrimalDual > | DualType |
typedef QuadEdgeMeshIteratorGeom< Self > | IteratorGeom |
typedef TFRef | LineCellIdentifier |
typedef TVRef | OriginRefType |
typedef TPrimalData | PrimalDataType |
typedef Self * | RawPointer |
typedef GeometricalQuadEdge | Self |
typedef QuadEdge | Superclass |
Public Types inherited from itk::QuadEdge | |
typedef QuadEdgeMeshConstIterator < Self > | ConstIterator |
typedef QuadEdgeMeshIterator < Self > | Iterator |
typedef QuadEdge | Self |
Static Public Attributes | |
static const OriginRefType | m_NoPoint |
Protected Attributes | |
PrimalDataType | m_Data |
bool | m_DataSet |
LineCellIdentifier | m_LineCellIdent |
OriginRefType | m_Origin |
typedef QuadEdgeMeshConstIteratorGeom< Self > itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ConstIteratorGeom |
Definition at line 91 of file itkGeometricalQuadEdge.h.
typedef TDualData itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualDataType |
Definition at line 82 of file itkGeometricalQuadEdge.h.
typedef TFRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualOriginRefType |
Definition at line 80 of file itkGeometricalQuadEdge.h.
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.
typedef QuadEdgeMeshIteratorGeom< Self > itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IteratorGeom |
Iterator types.
Definition at line 90 of file itkGeometricalQuadEdge.h.
typedef TFRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::LineCellIdentifier |
Definition at line 85 of file itkGeometricalQuadEdge.h.
typedef TVRef itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::OriginRefType |
Input template parameters & values convenient renaming.
Definition at line 79 of file itkGeometricalQuadEdge.h.
typedef TPrimalData itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::PrimalDataType |
Definition at line 81 of file itkGeometricalQuadEdge.h.
typedef Self* itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::RawPointer |
Definition at line 68 of file itkGeometricalQuadEdge.h.
typedef GeometricalQuadEdge itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Self |
Hierarchy typedefs.
Definition at line 66 of file itkGeometricalQuadEdge.h.
typedef QuadEdge itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Superclass |
Definition at line 67 of file itkGeometricalQuadEdge.h.
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GeometricalQuadEdge | ( | ) |
Memory creation methods.
|
inlinevirtual |
Definition at line 115 of file itkGeometricalQuadEdge.h.
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Disconnect | ( | ) |
|
inline |
Get methods.
Definition at line 149 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 178 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 245 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 151 of file itkGeometricalQuadEdge.h.
Self* itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetNextBorderEdgeWithUnsetLeft | ( | Self * | edgeTest = 0 | ) |
|
inline |
Get methods.
Definition at line 148 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 177 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 150 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::InsertAfterNextBorderEdgeWithUnsetLeft | ( | Self * | isol, |
Self * | hint = 0 |
||
) |
|
inline |
Definition at line 200 of file itkGeometricalQuadEdge.h.
|
inline |
Disconnection methods.
Definition at line 233 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationSet | ( | ) | const |
|
inline |
Disconnection methods.
Definition at line 235 of file itkGeometricalQuadEdge.h.
|
inline |
Boolean accessors.
Definition at line 184 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsInLnextRing | ( | Self * | ) |
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsInOnextRing | ( | Self * | ) |
|
inline |
Definition at line 210 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLeftSet | ( | ) | const |
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLnextOfTriangle | ( | ) |
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsLnextSharingSameFace | ( | int | maxSize = 100 | ) |
|
inline |
Disconnection methods.
Definition at line 231 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginInternal | ( | ) | const |
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsOriginSet | ( | ) | const |
Boolean accessors.
|
inline |
Boolean accessors.
Definition at line 183 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet | ( | ) | const |
|
inline |
Definition at line 192 of file itkGeometricalQuadEdge.h.
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::itkQEAccessorsMacro | ( | Superclass | , |
Self | , | ||
DualType | |||
) |
QE macros.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
|
inline |
Basic iterators methods.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace | ( | Self * | second | ) |
|
inline |
Definition at line 121 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 166 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 171 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 244 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 127 of file itkGeometricalQuadEdge.h.
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.
faceGeom | Looks at most maxSize edges in the Lnext() ring. |
maxSize | Sets at most maxSize edges in the Lnext() ring. |
|
inline |
Set methods.
Definition at line 118 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 164 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 170 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 124 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 141 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 174 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 143 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 140 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 173 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 142 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 253 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 254 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 255 of file itkGeometricalQuadEdge.h.
|
static |
Definition at line 249 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 252 of file itkGeometricalQuadEdge.h.