![]() |
Orfeo Toolbox
3.16
|
#include <itkCellInterface.h>
Classes | |
| class | MultiVisitor |
| A visitor that can visit different cell types in a mesh. CellInterfaceVisitor instances can be registered for each type of cell that needs to be visited. More... | |
Public Types | |
| typedef SelfAutoPointer | CellAutoPointer |
| typedef ConstSelfAutoPointer | CellConstAutoPointer |
| typedef ConstRawPointer | CellConstRawPointer |
| typedef CellFeatureIdentifier | CellFeatureCount |
| typedef CellTraits::CellFeatureIdentifier | 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 } |
| typedef CellTraits::CellIdentifier | CellIdentifier |
| typedef RawPointer | CellRawPointer |
| typedef TCellTraits | CellTraits |
| typedef CellInterface | CellType |
| typedef CellTraits::CoordRepType | CoordRepType |
| typedef CellTraits::InterpolationWeightType | InterpolationWeightType |
| typedef Array< CoordRepType > | ParametricCoordArrayType |
| typedef TPixelType | PixelType |
| typedef CellTraits::PointIdConstIterator | PointIdConstIterator |
| typedef CellTraits::PointIdentifier | PointIdentifier |
| typedef CellTraits::PointIdIterator | PointIdIterator |
| typedef CellTraits::PointsContainer | PointsContainer |
| typedef CellTraits::PointType | PointType |
| typedef Array < InterpolationWeightType > | ShapeFunctionsArrayType |
| typedef CellTraits::UsingCellsContainer | UsingCellsContainer |
| typedef UsingCellsContainer::iterator | UsingCellsContainerIterator |
| typedef PointType::VectorType | VectorType |
| NOTE: it should normally be defined in the traits. | |
Static Public Attributes | |
| static const unsigned int | PointDimension = CellTraits::PointDimension |
Protected Attributes | |
| UsingCellsContainer | m_UsingCells |
Private Member Functions | |
| CellInterface (const Self &) | |
| void | operator= (const Self &) |
Define an abstract interface for cells. Actual cell types derive from this class.
Template parameters for Cell:
TPixelType = The type stored with an entity (cell, point, or boundary).
TCellTraits = Type information for cell.
Definition at line 110 of file itkCellInterface.h.
| typedef SelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellAutoPointer |
Definition at line 146 of file itkCellInterface.h.
| typedef ConstSelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstAutoPointer |
Definition at line 147 of file itkCellInterface.h.
| typedef ConstRawPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstRawPointer |
Definition at line 149 of file itkCellInterface.h.
| typedef CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureCount |
A useful rename.
Definition at line 152 of file itkCellInterface.h.
| typedef CellTraits::CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureIdentifier |
Definition at line 130 of file itkCellInterface.h.
| typedef CellTraits::CellIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellIdentifier |
Definition at line 129 of file itkCellInterface.h.
| typedef RawPointer itk::CellInterface< TPixelType, TCellTraits >::CellRawPointer |
Definition at line 148 of file itkCellInterface.h.
| typedef TCellTraits itk::CellInterface< TPixelType, TCellTraits >::CellTraits |
Save the CellTraits template parameter.
Definition at line 121 of file itkCellInterface.h.
| typedef CellInterface itk::CellInterface< TPixelType, TCellTraits >::CellType |
Give this and all derived classes quick access to the base cell type.
Definition at line 145 of file itkCellInterface.h.
| typedef CellTraits::CoordRepType itk::CellInterface< TPixelType, TCellTraits >::CoordRepType |
Save type information for this cell.
Definition at line 124 of file itkCellInterface.h.
| typedef CellTraits::InterpolationWeightType itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType |
Definition at line 125 of file itkCellInterface.h.
| typedef Array<CoordRepType> itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType |
Types needed to contour the cells
Definition at line 161 of file itkCellInterface.h.
| typedef TPixelType itk::CellInterface< TPixelType, TCellTraits >::PixelType |
Save the PixelType template parameter.
Definition at line 118 of file itkCellInterface.h.
| typedef CellTraits::PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdConstIterator |
Definition at line 128 of file itkCellInterface.h.
| typedef CellTraits::PointIdentifier itk::CellInterface< TPixelType, TCellTraits >::PointIdentifier |
Definition at line 126 of file itkCellInterface.h.
| typedef CellTraits::PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdIterator |
Definition at line 127 of file itkCellInterface.h.
| typedef CellTraits::PointsContainer itk::CellInterface< TPixelType, TCellTraits >::PointsContainer |
Definition at line 132 of file itkCellInterface.h.
| typedef CellTraits::PointType itk::CellInterface< TPixelType, TCellTraits >::PointType |
Definition at line 131 of file itkCellInterface.h.
| typedef Array<InterpolationWeightType> itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType |
Definition at line 162 of file itkCellInterface.h.
| typedef CellTraits::UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainer |
Definition at line 133 of file itkCellInterface.h.
| typedef UsingCellsContainer::iterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainerIterator |
An iterator through the UsingCellsContainer.
Definition at line 142 of file itkCellInterface.h.
| typedef PointType::VectorType itk::CellInterface< TPixelType, TCellTraits >::VectorType |
NOTE: it should normally be defined in the traits.
Definition at line 136 of file itkCellInterface.h.
| enum itk::CellInterface::CellGeometry |
Cell Visitor interfaces
| 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 155 of file itkCellInterface.h.
|
inline |
Definition at line 430 of file itkCellInterface.h.
|
inlinevirtual |
Definition at line 431 of file itkCellInterface.h.
|
private |
|
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.
Definition at line 74 of file itkCellInterface.txx.
|
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 NULL:
Definition at line 320 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 331 of file itkCellInterface.h.
|
pure virtual |
Get the boundary feature corresponding to the given dimension and Id.
Referenced by itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellBoundaryFeature().
|
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 361 of file itkCellInterface.h.
References NULL.
|
inline |
Compute the square of the diagonal length of the bounding box.
Definition at line 364 of file itkCellInterface.h.
References NULL.
|
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 NULL, the flag is set to indicate whether the point is inside the cell.
Definition at line 301 of file itkCellInterface.h.
|
pure virtual |
Get the topological dimension of this cell.
|
virtual |
Get the interpolation order of the cell. Usually linear.
Definition at line 30 of file itkCellInterface.txx.
|
virtual |
Standard part of every itk Object.
|
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.
Definition at line 111 of file itkCellInterface.txx.
|
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.
Definition at line 44 of file itkCellInterface.txx.
|
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 NULL:
Returns whether an intersection exists.
Definition at line 378 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 NULL:
Returns whether an intersection exists within the given tolerance.
Definition at line 350 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.
Return true if the UsingCellsContainer m_UsingCells is nonempty, false otherwise. The container m_UsingCells is meant to contain a list of all the cells that have this one as part of their boundary. Boundary data is not automatically recorded upon mesh creation. If the boundary information has not been computed, this method always returns false.
Definition at line 61 of file itkCellInterface.txx.
|
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.
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.
Definition at line 99 of file itkCellInterface.txx.
| itk::CellInterface< TPixelType, TCellTraits >::itkCellCommonTypedefs | ( | CellInterface< TPixelType, TCellTraits > | ) |
Standard class typedefs.
|
pure virtual |
Create a new copy of this cell. This is provided so that a copy can be made without knowing the cell type.
|
private |
|
pure virtual |
Get a begin iterator to the list of point identifiers used by the cell.
Referenced by itk::Mesh< TPixelType, VDimension, TMeshTraits >::BuildCellLinks(), and itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PrintSelf().
|
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.
Referenced by itk::Mesh< TPixelType, VDimension, TMeshTraits >::BuildCellLinks(), and itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PrintSelf().
|
pure virtual |
Get a const end iterator to the list of point identifiers used by the cell.
|
virtual |
Remove a cell from the UsingCellsContainer.
Definition at line 86 of file itkCellInterface.txx.
|
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.
|
virtual |
Get a begin iterator for the UsingCellsContainer.
Definition at line 125 of file itkCellInterface.txx.
|
virtual |
Get an end iterator for the UsingCellsContainer.
Definition at line 137 of file itkCellInterface.txx.
|
protected |
Cell internal utility routines. Get the geometric position of a point. Store the set of cells using this boundary.
Definition at line 439 of file itkCellInterface.h.
|
static |
Save the dimension from the template parameters.
Definition at line 139 of file itkCellInterface.h.