ITK
6.0.0
Insight 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 parameter 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 its default value.
This implementation was contributed as a paper to the Insight Journal https://doi.org/10.54294/4mx7kk
Definition at line 61 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 89 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualDataType = TDualData |
Definition at line 81 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::DualOriginRefType = TFRef |
Definition at line 79 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 75 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IteratorGeom = QuadEdgeMeshIteratorGeom<Self> |
Iterator types.
Definition at line 88 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::LineCellIdentifier = TFRef |
Definition at line 84 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::OriginRefType = TVRef |
Input template parameters & values convenient renaming.
Definition at line 78 of file itkGeometricalQuadEdge.h.
using itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::PrimalDataType = TPrimalData |
Definition at line 80 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 |
|
overridedefault |
void itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::Disconnect | ( | ) |
|
inline |
Get methods.
Definition at line 185 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 257 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 358 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 195 of file itkGeometricalQuadEdge.h.
Self * itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::GetNextBorderEdgeWithUnsetLeft | ( | Self * | edgeTest = nullptr | ) |
|
inline |
Get methods.
Definition at line 180 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data get methods.
Definition at line 252 of file itkGeometricalQuadEdge.h.
|
inline |
Get methods.
Definition at line 190 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::InsertAfterNextBorderEdgeWithUnsetLeft | ( | Self * | isol, |
Self * | hint = nullptr |
||
) |
|
inline |
Definition at line 292 of file itkGeometricalQuadEdge.h.
|
inline |
Disconnection methods.
Definition at line 338 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsDestinationSet | ( | ) | const |
|
inline |
Disconnection methods.
Definition at line 343 of file itkGeometricalQuadEdge.h.
|
inline |
Boolean accessors.
Definition at line 270 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 302 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 333 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 265 of file itkGeometricalQuadEdge.h.
bool itk::GeometricalQuadEdge< TVRef, TFRef, TPrimalData, TDualData, PrimalDual >::IsRightSet | ( | ) | const |
|
inline |
Definition at line 281 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 128 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 234 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 222 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 353 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 140 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 122 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 229 of file itkGeometricalQuadEdge.h.
|
inline |
Extra data set methods.
Definition at line 216 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 134 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 161 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 245 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 171 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 156 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 240 of file itkGeometricalQuadEdge.h.
|
inline |
Definition at line 166 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 369 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 370 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 371 of file itkGeometricalQuadEdge.h.
|
static |
Definition at line 365 of file itkGeometricalQuadEdge.h.
|
protected |
Definition at line 368 of file itkGeometricalQuadEdge.h.