ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkCellInterface.h>
An abstract interface for cells.
Define an abstract interface for cells. Actual cell types derive from this class.
TPixelType | The type stored with an entity (cell, point, or boundary). |
TCellTraits | Type information for cell. |
Definition at line 101 of file itkCellInterface.h.
Classes | |
class | MultiVisitor |
Public Types | |
using | CellAutoPointer = SelfAutoPointer |
using | CellConstAutoPointer = ConstSelfAutoPointer |
using | CellConstRawPointer = ConstRawPointer |
using | CellFeatureCount = CellFeatureIdentifier |
using | CellFeatureIdentifier = typename CellTraits::CellFeatureIdentifier |
enum | CellGeometry { VERTEX_CELL = 0, LINE_CELL, TRIANGLE_CELL, QUADRILATERAL_CELL, POLYGON_CELL, TETRAHEDRON_CELL, HEXAHEDRON_CELL, QUADRATIC_EDGE_CELL, QUADRATIC_TRIANGLE_CELL, LAST_ITK_CELL, MAX_ITK_CELLS = 255 } |
using | CellIdentifier = typename CellTraits::CellIdentifier |
using | CellRawPointer = RawPointer |
using | CellTraits = TCellTraits |
using | CellType = CellInterface |
using | CoordRepType = typename CellTraits::CoordRepType |
using | InterpolationWeightType = typename CellTraits::InterpolationWeightType |
using | ParametricCoordArrayType = Array< CoordRepType > |
using | PixelType = TPixelType |
using | PointIdConstIterator = typename CellTraits::PointIdConstIterator |
using | PointIdentifier = typename CellTraits::PointIdentifier |
using | PointIdIterator = typename CellTraits::PointIdIterator |
using | PointsContainer = typename CellTraits::PointsContainer |
using | PointType = typename CellTraits::PointType |
using | ShapeFunctionsArrayType = Array< InterpolationWeightType > |
using | UsingCellsContainer = typename CellTraits::UsingCellsContainer |
using | UsingCellsContainerIterator = typename UsingCellsContainer::iterator |
using | VectorType = typename PointType::VectorType |
Static Public Attributes | |
static constexpr unsigned int | PointDimension = CellTraits::PointDimension |
Protected Attributes | |
UsingCellsContainer | m_UsingCells |
using | PointIdentifierContainerType = itk::Array< PointIdentifier > |
PointIdentifierContainerType | GetPointIdsContainer () const |
void | SetPointIdsContainer (const PointIdentifierContainerType &) |
using itk::CellInterface< TPixelType, TCellTraits >::CellAutoPointer = SelfAutoPointer |
Definition at line 138 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellConstAutoPointer = ConstSelfAutoPointer |
Definition at line 139 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellConstRawPointer = ConstRawPointer |
Definition at line 141 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellFeatureCount = CellFeatureIdentifier |
A useful rename.
Definition at line 144 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellFeatureIdentifier = typename CellTraits::CellFeatureIdentifier |
Definition at line 122 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellIdentifier = typename CellTraits::CellIdentifier |
Definition at line 121 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellRawPointer = RawPointer |
Definition at line 140 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellTraits = TCellTraits |
Save the CellTraits template parameter.
Definition at line 113 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CellType = CellInterface |
Give this and all derived classes quick access to the base cell type.
Definition at line 137 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::CoordRepType = typename CellTraits::CoordRepType |
Save type information for this cell.
Definition at line 116 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType = typename CellTraits::InterpolationWeightType |
Definition at line 117 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType = Array< CoordRepType > |
Types needed to contour the cells
Definition at line 153 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PixelType = TPixelType |
Save the PixelType template parameter.
Definition at line 110 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointIdConstIterator = typename CellTraits::PointIdConstIterator |
Definition at line 120 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointIdentifier = typename CellTraits::PointIdentifier |
Definition at line 118 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointIdentifierContainerType = itk::Array<PointIdentifier> |
Get/Set the point id list used by the cell
Definition at line 294 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointIdIterator = typename CellTraits::PointIdIterator |
Definition at line 119 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointsContainer = typename CellTraits::PointsContainer |
Definition at line 124 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::PointType = typename CellTraits::PointType |
Definition at line 123 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType = Array< InterpolationWeightType > |
Definition at line 154 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainer = typename CellTraits::UsingCellsContainer |
Definition at line 125 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainerIterator = typename UsingCellsContainer::iterator |
An iterator through the UsingCellsContainer.
Definition at line 134 of file itkCellInterface.h.
using itk::CellInterface< TPixelType, TCellTraits >::VectorType = typename PointType::VectorType |
NOTE: it should normally be defined in the traits.
Definition at line 128 of file itkCellInterface.h.
enum itk::CellInterface::CellGeometry |
Cell Visitor interfaces
Enumerator | |
---|---|
VERTEX_CELL | |
LINE_CELL | |
TRIANGLE_CELL | |
QUADRILATERAL_CELL | |
POLYGON_CELL | |
TETRAHEDRON_CELL | |
HEXAHEDRON_CELL | |
QUADRATIC_EDGE_CELL | |
QUADRATIC_TRIANGLE_CELL | |
LAST_ITK_CELL | |
MAX_ITK_CELLS |
Definition at line 147 of file itkCellInterface.h.
|
default |
|
virtualdefault |
|
pure virtual |
This must be implemented by all sub-classes of CellInterface
|
virtual |
Register the fact that this cell is a part of the boundary of the cell cellId, by adding cellId to the UsingCellsContainer.
|
inlinevirtual |
Given the geometric coordinates of a point (coord[PointDimension]), return whether it is inside the cell. Also perform the following calculations, if the corresponding result pointers are not nullptr:
Definition at line 322 of file itkCellInterface.h.
|
inlinevirtual |
Given the parametric coordinates of a point in the cell determine the value of its Shape Functions returned through an itkArray<InterpolationWeightType>).
Definition at line 333 of file itkCellInterface.h.
|
pure virtual |
Get the boundary feature corresponding to the given dimension and Id.
|
inline |
Compute cell bounding box and store in the user-provided array. Array is ordered (xmin, xmax, ymin, ymax, ....). A pointer to the array is returned for convenience. This allows code like: "CoordRep* bounds = cell->GetBoundingBox(new CoordRep[6]);".
Definition at line 363 of file itkCellInterface.h.
|
inline |
Compute the square of the diagonal length of the bounding box.
Definition at line 367 of file itkCellInterface.h.
|
inlinevirtual |
Given the parametric coordinates of a point in the cell (pCoords[CellDimension]), get the closest cell boundary feature of topological dimension CellDimension-1. If the "inside" pointer is not nullptr, the flag is set to indicate whether the point is inside the cell.
Definition at line 303 of file itkCellInterface.h.
|
pure virtual |
Get the topological dimension of this cell.
|
virtual |
Get the interpolation order of the cell. Usually linear.
|
pure virtual |
Get the number of boundary features of a given dimension on this cell.
|
pure virtual |
Get the number of points required to define the cell.
|
virtual |
Get the number of cells in the UsingCellsContainer.
|
virtual |
Get the point id list used by the cell in a form suitable to pass to SetPointIds(first) on another cell. This is equivalent to PointIdsBegin() const.
PointIdentifierContainerType itk::CellInterface< TPixelType, TCellTraits >::GetPointIdsContainer | ( | ) | const |
Get/Set the point id list used by the cell
|
pure virtual |
Return the type of the cell (one of the CellGeometry enums listed above).
|
inlinevirtual |
Intersect the given bounding box (bounds[PointDimension*2]) with a line given by an origin (origin[PointDimension]) and direction (direction[PointDimension]). Get the following results if the corresponding pointers are not nullptr:
Returns whether an intersection exists.
Definition at line 381 of file itkCellInterface.h.
|
inlinevirtual |
Intersect the cell with a line given by an origin (origin[PointDimension]) and direction (direction[PointDimension]). The intersection point found will be within the given tolerance of the real intersection. Get the following results if the corresponding pointers are not nullptr:
Returns whether an intersection exists within the given tolerance.
Definition at line 352 of file itkCellInterface.h.
|
virtual |
Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information. Returns true if the cell has been explicitly assigned as a boundary, false otherwise.
|
virtual |
Test if a cell is in the UsingCellsContainer. A result of true
indicates that this cell is part of the boundary of the cell cellId, assuming that boundary information has been recorded.
itk::CellInterface< TPixelType, TCellTraits >::itkCellCommonTypedefs | ( | CellInterface< TPixelType, TCellTraits > | ) |
Standard class type aliases.
itk::CellInterface< TPixelType, TCellTraits >::itkTypeMacroNoParent | ( | CellInterface< TPixelType, TCellTraits > | ) |
Standard part of every itk Object.
|
pure virtual |
Create a new copy of this cell. This is provided so that a copy can be made without knowing the cell type.
|
pure virtual |
Get a begin iterator to the list of point identifiers used by the cell.
|
pure virtual |
Get a const begin iterator to the list of point identifiers used by the cell.
|
pure virtual |
Get an end iterator to the list of point identifiers used by the cell.
|
pure virtual |
Get a const end iterator to the list of point identifiers used by the cell.
|
virtual |
Remove a cell from the UsingCellsContainer.
|
pure virtual |
Set the point identifier for a given spot in the point list for the cell.
|
pure virtual |
Set the point id list used by the cell. It is assumed that the given iterator can be incremented and safely de-referenced enough times to get all the point ids needed by the cell.
|
pure virtual |
Set the point id list used by the cell. It is assumed that the range of iterators [first, last) contains the correct number of points needed to define the cell. The position *last is NOT referenced, so it can safely be one beyond the end of an array or other container.
void itk::CellInterface< TPixelType, TCellTraits >::SetPointIdsContainer | ( | const PointIdentifierContainerType & | ) |
Get/Set the point id list used by the cell
|
virtual |
Get a begin iterator for the UsingCellsContainer.
|
virtual |
Get an end iterator for the UsingCellsContainer.
|
protected |
Cell internal utility routines. Get the geometric position of a point. Store the set of cells using this boundary.
Definition at line 443 of file itkCellInterface.h.
|
static |
Save the dimension from the template parameters.
Definition at line 131 of file itkCellInterface.h.