ITK
4.3.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 104 of file 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 |
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 &) |
typedef itk::Array < PointIdentifier > | PointIdentifierContainerType |
PointIdentifierContainerType | GetPointIdsContainer () const |
void | SetPointIdsContainer (const PointIdentifierContainerType &) |
typedef SelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellAutoPointer |
Definition at line 140 of file itkCellInterface.h.
typedef ConstSelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstAutoPointer |
Definition at line 141 of file itkCellInterface.h.
typedef ConstRawPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstRawPointer |
Definition at line 143 of file itkCellInterface.h.
typedef CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureCount |
A useful rename.
Definition at line 146 of file itkCellInterface.h.
typedef CellTraits::CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureIdentifier |
Definition at line 124 of file itkCellInterface.h.
typedef CellTraits::CellIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellIdentifier |
Definition at line 123 of file itkCellInterface.h.
typedef RawPointer itk::CellInterface< TPixelType, TCellTraits >::CellRawPointer |
Definition at line 142 of file itkCellInterface.h.
typedef TCellTraits itk::CellInterface< TPixelType, TCellTraits >::CellTraits |
Save the CellTraits template parameter.
Definition at line 115 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 139 of file itkCellInterface.h.
typedef CellTraits::CoordRepType itk::CellInterface< TPixelType, TCellTraits >::CoordRepType |
Save type information for this cell.
Definition at line 118 of file itkCellInterface.h.
typedef CellTraits::InterpolationWeightType itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType |
Definition at line 119 of file itkCellInterface.h.
typedef Array< CoordRepType > itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType |
Types needed to contour the cells
Definition at line 155 of file itkCellInterface.h.
typedef TPixelType itk::CellInterface< TPixelType, TCellTraits >::PixelType |
Save the PixelType template parameter.
Definition at line 112 of file itkCellInterface.h.
typedef CellTraits::PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdConstIterator |
Definition at line 122 of file itkCellInterface.h.
typedef CellTraits::PointIdentifier itk::CellInterface< TPixelType, TCellTraits >::PointIdentifier |
Definition at line 120 of file itkCellInterface.h.
typedef itk::Array<PointIdentifier> itk::CellInterface< TPixelType, TCellTraits >::PointIdentifierContainerType |
Get/Set the point id list used by the cell
Definition at line 298 of file itkCellInterface.h.
typedef CellTraits::PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdIterator |
Definition at line 121 of file itkCellInterface.h.
typedef CellTraits::PointsContainer itk::CellInterface< TPixelType, TCellTraits >::PointsContainer |
Definition at line 126 of file itkCellInterface.h.
typedef CellTraits::PointType itk::CellInterface< TPixelType, TCellTraits >::PointType |
Definition at line 125 of file itkCellInterface.h.
typedef Array< InterpolationWeightType > itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType |
Definition at line 156 of file itkCellInterface.h.
typedef CellTraits::UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainer |
Definition at line 127 of file itkCellInterface.h.
typedef UsingCellsContainer::iterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainerIterator |
An iterator through the UsingCellsContainer.
Definition at line 136 of file itkCellInterface.h.
typedef PointType::VectorType itk::CellInterface< TPixelType, TCellTraits >::VectorType |
NOTE: it should normally be defined in the traits.
Definition at line 130 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 149 of file itkCellInterface.h.
|
inline |
Definition at line 438 of file itkCellInterface.h.
|
inlinevirtual |
Definition at line 439 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.
|
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 326 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 337 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 367 of file itkCellInterface.h.
References NULL.
|
inline |
Compute the square of the diagonal length of the bounding box.
Definition at line 371 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 307 of file itkCellInterface.h.
|
pure virtual |
Get the topological dimension of this cell.
|
virtual |
Get the interpolation order of the cell. Usually linear.
|
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.
|
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 NULL:
Returns whether an intersection exists.
Definition at line 385 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 356 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 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.
|
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 447 of file itkCellInterface.h.
|
static |
Save the dimension from the template parameters.
Definition at line 133 of file itkCellInterface.h.