#include <itkCellInterface.h>
template<typename TPixelType, typename TCellTraits>
class itk::CellInterface< TPixelType, TCellTraits >
An abstract interface for cells.
Define an abstract interface for cells. Actual cell types derive from this class.
- Template Parameters
-
TPixelType | The type stored with an entity (cell, point, or boundary). |
TCellTraits | Type information for cell. |
- Examples
- Examples/SpatialObjects/MeshSpatialObject.cxx, and SphinxExamples/src/Core/Mesh/ConvertMeshToUnstructeredGrid/Code.cxx.
Definition at line 97 of file itkCellInterface.h.
|
virtual void | Accept (CellIdentifier cellId, MultiVisitor *)=0 |
|
virtual void | AddUsingCell (CellIdentifier cellId) |
|
| CellInterface ()=default |
|
virtual bool | EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *) |
|
virtual void | EvaluateShapeFunctions (const ParametricCoordArrayType &, ShapeFunctionsArrayType &) const |
|
virtual bool | GetBoundaryFeature (int dimension, CellFeatureIdentifier, CellAutoPointer &)=0 |
|
CoordRepType | GetBoundingBoxDiagonalLength2 () |
|
virtual bool | GetClosestBoundary (CoordRepType[], bool *, CellAutoPointer &) |
|
virtual unsigned int | GetDimension () const =0 |
|
virtual unsigned int | GetInterpolationOrder () const |
|
virtual const char * | GetNameOfClass () const |
|
virtual CellFeatureCount | GetNumberOfBoundaryFeatures (int dimension) const =0 |
|
virtual unsigned int | GetNumberOfPoints () const =0 |
|
virtual unsigned int | GetNumberOfUsingCells () |
|
virtual PointIdConstIterator | GetPointIds () const |
|
virtual itk::CommonEnums::CellGeometry | GetType () const =0 |
|
virtual bool | IntersectBoundingBoxWithLine (CoordRepType[PointDimension *2], CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType *) |
|
virtual bool | IntersectWithLine (CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType, CoordRepType[PointDimension], CoordRepType *, CoordRepType[]) |
|
virtual bool | IsExplicitBoundary () |
|
virtual bool | IsUsingCell (CellIdentifier cellId) |
|
| itkCellCommonTypedefs (CellInterface) |
|
virtual void | MakeCopy (CellAutoPointer &) const =0 |
|
virtual PointIdConstIterator | PointIdsBegin () const =0 |
|
virtual PointIdIterator | PointIdsBegin ()=0 |
|
virtual PointIdConstIterator | PointIdsEnd () const =0 |
|
virtual PointIdIterator | PointIdsEnd ()=0 |
|
virtual void | RemoveUsingCell (CellIdentifier cellId) |
|
virtual void | SetPointId (int localId, PointIdentifier)=0 |
|
virtual void | SetPointIds (PointIdConstIterator first)=0 |
|
virtual void | SetPointIds (PointIdConstIterator first, PointIdConstIterator last)=0 |
|
virtual UsingCellsContainerIterator | UsingCellsBegin () |
|
virtual UsingCellsContainerIterator | UsingCellsEnd () |
|
virtual | ~CellInterface ()=default |
|
|
CoordRepType * | GetBoundingBox (CoordRepType[PointDimension *2]) |
|
|
static constexpr unsigned int | PointDimension = CellTraits::PointDimension |
|
◆ CellAutoPointer
template<typename TPixelType, typename TCellTraits>
◆ CellConstAutoPointer
template<typename TPixelType, typename TCellTraits>
◆ CellConstRawPointer
template<typename TPixelType, typename TCellTraits>
◆ CellFeatureCount
template<typename TPixelType, typename TCellTraits>
◆ CellFeatureIdentifier
template<typename TPixelType, typename TCellTraits>
◆ CellIdentifier
template<typename TPixelType, typename TCellTraits>
◆ CellRawPointer
template<typename TPixelType, typename TCellTraits>
◆ CellTraits
template<typename TPixelType, typename TCellTraits>
◆ CellType
template<typename TPixelType, typename TCellTraits>
Give this and all derived classes quick access to the base cell type.
Definition at line 133 of file itkCellInterface.h.
◆ CoordRepType
template<typename TPixelType, typename TCellTraits>
◆ InterpolationWeightType
template<typename TPixelType, typename TCellTraits>
◆ ParametricCoordArrayType
template<typename TPixelType, typename TCellTraits>
◆ PixelType
template<typename TPixelType, typename TCellTraits>
◆ PointIdConstIterator
template<typename TPixelType, typename TCellTraits>
◆ PointIdentifier
template<typename TPixelType, typename TCellTraits>
◆ PointIdentifierContainerType
template<typename TPixelType, typename TCellTraits>
◆ PointIdIterator
template<typename TPixelType, typename TCellTraits>
◆ PointsContainer
template<typename TPixelType, typename TCellTraits>
◆ PointType
template<typename TPixelType, typename TCellTraits>
◆ ShapeFunctionsArrayType
template<typename TPixelType, typename TCellTraits>
◆ UsingCellsContainer
template<typename TPixelType, typename TCellTraits>
◆ UsingCellsContainerIterator
template<typename TPixelType, typename TCellTraits>
◆ VectorType
template<typename TPixelType, typename TCellTraits>
◆ CellInterface()
template<typename TPixelType, typename TCellTraits>
◆ ~CellInterface()
template<typename TPixelType, typename TCellTraits>
◆ Accept()
template<typename TPixelType, typename TCellTraits>
◆ AddUsingCell()
template<typename TPixelType, typename TCellTraits>
Register the fact that this cell is a part of the boundary of the cell cellId, by adding cellId to the UsingCellsContainer.
◆ EvaluatePosition()
template<typename TPixelType, typename TCellTraits>
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:
- Find the closest point in or on the cell to the given point (Returns through pointer to array: closestPoint[PointDimension]).
- Get the cell's parametric coordinates for the given point (Returns through pointer to array: pCoords[CellDimension]).
- Get the square of the distance between the point and the cell (this is the distance from the point to the closest point, returned through "dist2" pointer).
- Get the interpolation weights for the cell (Returns through pointer to array: weights[NumberOfPoints]).
Definition at line 340 of file itkCellInterface.h.
◆ EvaluateShapeFunctions()
template<typename TPixelType, typename TCellTraits>
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 354 of file itkCellInterface.h.
◆ GetBoundaryFeature()
template<typename TPixelType, typename TCellTraits>
Get the boundary feature corresponding to the given dimension and Id.
◆ GetBoundingBox()
template<typename TPixelType, typename TCellTraits>
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 387 of file itkCellInterface.h.
◆ GetBoundingBoxDiagonalLength2()
template<typename TPixelType, typename TCellTraits>
Compute the square of the diagonal length of the bounding box.
Definition at line 392 of file itkCellInterface.h.
◆ GetClosestBoundary()
template<typename TPixelType, typename TCellTraits>
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 318 of file itkCellInterface.h.
◆ GetDimension()
template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetDimension |
( |
| ) |
const |
|
pure virtual |
Get the topological dimension of this cell.
◆ GetInterpolationOrder()
template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetInterpolationOrder |
( |
| ) |
const |
|
virtual |
Get the interpolation order of the cell. Usually linear.
◆ GetNameOfClass()
template<typename TPixelType, typename TCellTraits>
virtual const char* itk::CellInterface< TPixelType, TCellTraits >::GetNameOfClass |
( |
| ) |
const |
|
virtual |
◆ GetNumberOfBoundaryFeatures()
template<typename TPixelType, typename TCellTraits>
Get the number of boundary features of a given dimension on this cell.
◆ GetNumberOfPoints()
template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfPoints |
( |
| ) |
const |
|
pure virtual |
Get the number of points required to define the cell.
◆ GetNumberOfUsingCells()
template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfUsingCells |
( |
| ) |
|
|
virtual |
Get the number of cells in the UsingCellsContainer.
◆ GetPointIds()
template<typename TPixelType, typename TCellTraits>
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.
◆ GetPointIdsContainer()
template<typename TPixelType, typename TCellTraits>
Get/Set the point id list used by the cell
◆ GetType()
template<typename TPixelType, typename TCellTraits>
Return the type of the cell (one of the CellGeometryEnum enums listed above).
◆ IntersectBoundingBoxWithLine()
template<typename TPixelType, typename TCellTraits>
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:
- The intersection point's geometric coordinates (returned through pointer to array: coords[PointDimension]).
- The line's parametric coordinate of the intersection point (returned through "t" pointer).
Returns whether an intersection exists.
Definition at line 409 of file itkCellInterface.h.
◆ IntersectWithLine()
template<typename TPixelType, typename TCellTraits>
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:
- The intersection point's geometric coordinates (returned through pointer to array: coords[PointDimension]).
- The line's parametric coordinate of the intersection point (returned through "t" pointer).
- The cell's parametric coordinates of the intersection point (returned through pointer to array: pCoords[CellDimension]).
Returns whether an intersection exists within the given tolerance.
Definition at line 373 of file itkCellInterface.h.
◆ IsExplicitBoundary()
template<typename TPixelType, typename TCellTraits>
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.
◆ IsUsingCell()
template<typename TPixelType, typename TCellTraits>
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.
◆ itkCellCommonTypedefs()
template<typename TPixelType, typename TCellTraits>
Standard class type aliases.
◆ MakeCopy()
template<typename TPixelType, typename TCellTraits>
Create a new copy of this cell. This is provided so that a copy can be made without knowing the cell type.
◆ PointIdsBegin() [1/2]
template<typename TPixelType, typename TCellTraits>
Get a const begin iterator to the list of point identifiers used by the cell.
◆ PointIdsBegin() [2/2]
template<typename TPixelType, typename TCellTraits>
Get a begin iterator to the list of point identifiers used by the cell.
◆ PointIdsEnd() [1/2]
template<typename TPixelType, typename TCellTraits>
Get a const end iterator to the list of point identifiers used by the cell.
◆ PointIdsEnd() [2/2]
template<typename TPixelType, typename TCellTraits>
Get an end iterator to the list of point identifiers used by the cell.
◆ RemoveUsingCell()
template<typename TPixelType, typename TCellTraits>
Remove a cell from the UsingCellsContainer.
◆ SetPointId()
template<typename TPixelType, typename TCellTraits>
Set the point identifier for a given spot in the point list for the cell.
◆ SetPointIds() [1/2]
template<typename TPixelType, typename TCellTraits>
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.
◆ SetPointIds() [2/2]
template<typename TPixelType, typename TCellTraits>
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.
◆ SetPointIdsContainer()
template<typename TPixelType, typename TCellTraits>
Get/Set the point id list used by the cell
◆ UsingCellsBegin()
template<typename TPixelType, typename TCellTraits>
Get a begin iterator for the UsingCellsContainer.
◆ UsingCellsEnd()
template<typename TPixelType, typename TCellTraits>
Get an end iterator for the UsingCellsContainer.
◆ m_UsingCells
template<typename TPixelType, typename TCellTraits>
Cell internal utility routines. Get the geometric position of a point. Store the set of cells using this boundary.
Definition at line 497 of file itkCellInterface.h.
◆ PointDimension
template<typename TPixelType, typename TCellTraits>
constexpr unsigned int itk::CellInterface< TPixelType, TCellTraits >::PointDimension = CellTraits::PointDimension |
|
staticconstexpr |
The documentation for this class was generated from the following file: