ITK
5.0.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 | |
using | ConstIteratorGeom = QuadEdgeMeshConstIteratorGeom< Self > |
using | DualDataType = TDualData |
using | DualOriginRefType = TFRef |
using | DualType = GeometricalQuadEdge< TFRef, TVRef, TDualData, TPrimalData,!PrimalDual > |
using | IteratorGeom = QuadEdgeMeshIteratorGeom< Self > |
using | LineCellIdentifier = TFRef |
using | OriginRefType = TVRef |
using | PrimalDataType = TPrimalData |
using | RawPointer = Self * |
using | Self = GeometricalQuadEdge |
using | Superclass = QuadEdge |
Public Types inherited from itk::QuadEdge | |
using | ConstIterator = QuadEdgeMeshConstIterator< Self > |
using | Iterator = QuadEdgeMeshIterator< Self > |
using | Self = QuadEdge |
Static Public Attributes | |
static const OriginRefType | m_NoPoint |
Protected Attributes | |
PrimalDataType | m_Data |
bool | m_DataSet {false} |
LineCellIdentifier | m_LineCellIdent |
OriginRefType | m_Origin |
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ConstIteratorGeom = QuadEdgeMeshConstIteratorGeom< Self > |
Definition at line 91 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualDataType = TDualData |
Definition at line 82 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualOriginRefType = TFRef |
Definition at line 80 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualType = GeometricalQuadEdge< TFRef, TVRef, TDualData, TPrimalData, !PrimalDual > |
Dual type, basically the same type with swapped template parameters.
Definition at line 76 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IteratorGeom = QuadEdgeMeshIteratorGeom< Self > |
Iterator types.
Definition at line 90 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::LineCellIdentifier = TFRef |
Definition at line 85 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::OriginRefType = TVRef |
Input template parameters & values convenient renaming.
Definition at line 79 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::PrimalDataType = TPrimalData |
Definition at line 81 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::RawPointer = Self * |
Definition at line 68 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Self = GeometricalQuadEdge |
Hierarchy type alias.
Definition at line 66 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Superclass = QuadEdge |
Definition at line 67 of file itkGeometricalQuadEdge.h.
itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GeometricalQuadEdge | ( | ) |
|
default |
|
default |
|
overridevirtualdefault |
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Disconnect | ( | ) |
|
inline |
Get methods.
Definition at line 152 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 181 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 248 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 154 of file itkGeometricalQuadEdge.h.
Self* itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetNextBorderEdgeWithUnsetLeft | ( | Self * | edgeTest = nullptr | ) |
|
inline |
Get methods.
Definition at line 151 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 180 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 153 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::InsertAfterNextBorderEdgeWithUnsetLeft | ( | Self * | isol, |
Self * | hint = nullptr |
||
) |
|
inline |
Definition at line 203 of file itkGeometricalQuadEdge.h.
|
inline |
Disconnection methods.
Definition at line 236 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationSet | ( | ) | const |
|
inline |
Disconnection methods.
Definition at line 238 of file itkGeometricalQuadEdge.h.
|
inline |
Boolean accessors.
Definition at line 187 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 213 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 234 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 186 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet | ( | ) | const |
|
inline |
Definition at line 195 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.
|
default |
|
default |
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::ReorderOnextRingBeforeAddFace | ( | Self * | second | ) |
|
inline |
Definition at line 124 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 169 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 174 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 247 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 130 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 121 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 167 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 173 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 127 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 144 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 177 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 146 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 143 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 176 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 145 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 256 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 257 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 258 of file itkGeometricalQuadEdge.h.
|
static |
Definition at line 252 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 255 of file itkGeometricalQuadEdge.h.