#include <itkCellInterface.h>
Template parameters for Cell:
TPixelType = The type stored with an entity (cell, point, or boundary).
TCellTraits = Type information for cell.
Definition at line 115 of file itkCellInterface.h.
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 |
Public Member Functions | |
virtual void | Accept (unsigned long cellId, MultiVisitor *)=0 |
virtual void | AddUsingCell (CellIdentifier cellId) |
CellInterface () | |
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 (void) |
virtual bool | GetClosestBoundary (CoordRepType[], bool *, CellAutoPointer &) |
virtual unsigned int | GetDimension (void) const =0 |
virtual unsigned int | GetInterpolationOrder (void) const |
virtual const char * | GetNameOfClass () const |
virtual CellFeatureCount | GetNumberOfBoundaryFeatures (int dimension) const =0 |
virtual unsigned int | GetNumberOfPoints (void) const =0 |
virtual unsigned int | GetNumberOfUsingCells (void) |
virtual PointIdConstIterator | GetPointIds (void) const |
virtual CellGeometry | GetType (void) 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 (void) |
virtual bool | IsUsingCell (CellIdentifier cellId) |
itkCellCommonTypedefs (CellInterface) | |
itkStaticConstMacro (PointDimension, unsigned int, CellTraits::PointDimension) | |
virtual void | MakeCopy (CellAutoPointer &) const =0 |
virtual PointIdConstIterator | PointIdsBegin (void) const =0 |
virtual PointIdIterator | PointIdsBegin (void)=0 |
virtual PointIdConstIterator | PointIdsEnd (void) const =0 |
virtual PointIdIterator | PointIdsEnd (void)=0 |
virtual void | RemoveUsingCell (CellIdentifier cellId) |
virtual void | SetPointId (int localId, PointIdentifier)=0 |
virtual void | SetPointIds (PointIdConstIterator first, PointIdConstIterator last)=0 |
virtual void | SetPointIds (PointIdConstIterator first)=0 |
virtual UsingCellsContainerIterator | UsingCellsBegin (void) |
virtual UsingCellsContainerIterator | UsingCellsEnd (void) |
virtual | ~CellInterface () |
CoordRepType * | GetBoundingBox (CoordRepType[PointDimension *2]) |
Static Public Member Functions | |
static int | GetNextUserCellId () |
Protected Attributes | |
UsingCellsContainer | m_UsingCells |
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... |
typedef SelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellAutoPointer |
Definition at line 151 of file itkCellInterface.h.
typedef ConstSelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstAutoPointer |
Definition at line 152 of file itkCellInterface.h.
typedef ConstRawPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstRawPointer |
Definition at line 154 of file itkCellInterface.h.
typedef CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureCount |
A useful rename.
Definition at line 157 of file itkCellInterface.h.
typedef CellTraits::CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureIdentifier |
Definition at line 135 of file itkCellInterface.h.
typedef CellTraits::CellIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellIdentifier |
Definition at line 134 of file itkCellInterface.h.
typedef RawPointer itk::CellInterface< TPixelType, TCellTraits >::CellRawPointer |
Definition at line 153 of file itkCellInterface.h.
typedef TCellTraits itk::CellInterface< TPixelType, TCellTraits >::CellTraits |
Save the CellTraits template parameter.
Definition at line 126 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 150 of file itkCellInterface.h.
typedef CellTraits::CoordRepType itk::CellInterface< TPixelType, TCellTraits >::CoordRepType |
Save type information for this cell.
Definition at line 129 of file itkCellInterface.h.
typedef CellTraits::InterpolationWeightType itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType |
Definition at line 130 of file itkCellInterface.h.
typedef Array<CoordRepType> itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType |
Types needed to contour the cells
Definition at line 166 of file itkCellInterface.h.
typedef TPixelType itk::CellInterface< TPixelType, TCellTraits >::PixelType |
Save the PixelType template parameter.
Definition at line 123 of file itkCellInterface.h.
typedef CellTraits::PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdConstIterator |
Definition at line 133 of file itkCellInterface.h.
typedef CellTraits::PointIdentifier itk::CellInterface< TPixelType, TCellTraits >::PointIdentifier |
Definition at line 131 of file itkCellInterface.h.
typedef CellTraits::PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdIterator |
Definition at line 132 of file itkCellInterface.h.
typedef CellTraits::PointsContainer itk::CellInterface< TPixelType, TCellTraits >::PointsContainer |
Definition at line 137 of file itkCellInterface.h.
typedef CellTraits::PointType itk::CellInterface< TPixelType, TCellTraits >::PointType |
Definition at line 136 of file itkCellInterface.h.
typedef Array<InterpolationWeightType> itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType |
Definition at line 167 of file itkCellInterface.h.
typedef CellTraits::UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainer |
Definition at line 138 of file itkCellInterface.h.
typedef UsingCellsContainer::iterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainerIterator |
An iterator through the UsingCellsContainer.
Definition at line 147 of file itkCellInterface.h.
typedef PointType::VectorType itk::CellInterface< TPixelType, TCellTraits >::VectorType |
NOTE: it should normally be defined in the traits.
Definition at line 141 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 160 of file itkCellInterface.h.
itk::CellInterface< TPixelType, TCellTraits >::CellInterface | ( | ) | [inline] |
Definition at line 435 of file itkCellInterface.h.
virtual itk::CellInterface< TPixelType, TCellTraits >::~CellInterface | ( | ) | [inline, virtual] |
Definition at line 436 of file itkCellInterface.h.
virtual void itk::CellInterface< TPixelType, TCellTraits >::Accept | ( | unsigned long | cellId, | |
MultiVisitor * | ||||
) | [pure virtual] |
This must be implemented by all sub-classes of CellInterface
virtual void itk::CellInterface< TPixelType, TCellTraits >::AddUsingCell | ( | CellIdentifier | cellId | ) | [virtual] |
Register the fact that this cell is a part of the boundary of the cell cellId, by adding cellId to the UsingCellsContainer.
virtual bool itk::CellInterface< TPixelType, TCellTraits >::EvaluatePosition | ( | CoordRepType * | , | |
PointsContainer * | , | |||
CoordRepType * | , | |||
CoordRepType | [], | |||
double * | , | |||
InterpolationWeightType * | ||||
) | [inline, virtual] |
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.
virtual void itk::CellInterface< TPixelType, TCellTraits >::EvaluateShapeFunctions | ( | const ParametricCoordArrayType & | , | |
ShapeFunctionsArrayType & | ||||
) | const [inline, virtual] |
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.
virtual bool itk::CellInterface< TPixelType, TCellTraits >::GetBoundaryFeature | ( | int | dimension, | |
CellFeatureIdentifier | , | |||
CellAutoPointer & | ||||
) | [pure virtual] |
Get the boundary feature corresponding to the given dimension and Id.
CoordRepType* itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBox | ( | CoordRepType | [PointDimension *2] | ) | [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.
CoordRepType itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBoxDiagonalLength2 | ( | void | ) | [inline] |
Compute the square of the diagonal length of the bounding box.
Definition at line 371 of file itkCellInterface.h.
References NULL.
virtual bool itk::CellInterface< TPixelType, TCellTraits >::GetClosestBoundary | ( | CoordRepType | [], | |
bool * | , | |||
CellAutoPointer & | ||||
) | [inline, virtual] |
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.
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetDimension | ( | void | ) | const [pure virtual] |
Get the topological dimension of this cell.
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetInterpolationOrder | ( | void | ) | const [virtual] |
Get the interpolation order of the cell. Usually linear.
virtual const char* itk::CellInterface< TPixelType, TCellTraits >::GetNameOfClass | ( | ) | const [virtual] |
static int itk::CellInterface< TPixelType, TCellTraits >::GetNextUserCellId | ( | ) | [static] |
virtual CellFeatureCount itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfBoundaryFeatures | ( | int | dimension | ) | const [pure virtual] |
Get the number of boundary features of a given dimension on this cell.
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfPoints | ( | void | ) | const [pure virtual] |
Get the number of points required to define the cell.
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfUsingCells | ( | void | ) | [virtual] |
Get the number of cells in the UsingCellsContainer.
virtual PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::GetPointIds | ( | void | ) | const [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.
virtual CellGeometry itk::CellInterface< TPixelType, TCellTraits >::GetType | ( | void | ) | const [pure virtual] |
Return the type of the cell (one of the CellGeometry enums listed above).
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IntersectBoundingBoxWithLine | ( | CoordRepType | [PointDimension *2], | |
CoordRepType | [PointDimension], | |||
CoordRepType | [PointDimension], | |||
CoordRepType | [PointDimension], | |||
CoordRepType * | ||||
) | [inline, virtual] |
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.
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IntersectWithLine | ( | CoordRepType | [PointDimension], | |
CoordRepType | [PointDimension], | |||
CoordRepType | , | |||
CoordRepType | [PointDimension], | |||
CoordRepType * | , | |||
CoordRepType | [] | |||
) | [inline, virtual] |
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 bool itk::CellInterface< TPixelType, TCellTraits >::IsExplicitBoundary | ( | void | ) | [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 bool itk::CellInterface< TPixelType, TCellTraits >::IsUsingCell | ( | CellIdentifier | cellId | ) | [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.
itk::CellInterface< TPixelType, TCellTraits >::itkStaticConstMacro | ( | PointDimension | , | |
unsigned | int, | |||
CellTraits::PointDimension | ||||
) |
Save the dimension from the template parameters.
virtual void itk::CellInterface< TPixelType, TCellTraits >::MakeCopy | ( | CellAutoPointer & | ) | const [pure virtual] |
Create a new copy of this cell. This is provided so that a copy can be made without knowing the cell type.
virtual PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsBegin | ( | void | ) | const [pure virtual] |
Get a const begin iterator to the list of point identifiers used by the cell.
virtual PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsBegin | ( | void | ) | [pure virtual] |
Get a begin iterator to the list of point identifiers used by the cell.
virtual PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsEnd | ( | void | ) | const [pure virtual] |
Get a const end iterator to the list of point identifiers used by the cell.
virtual PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsEnd | ( | void | ) | [pure virtual] |
Get an end iterator to the list of point identifiers used by the cell.
virtual void itk::CellInterface< TPixelType, TCellTraits >::RemoveUsingCell | ( | CellIdentifier | cellId | ) | [virtual] |
Remove a cell from the UsingCellsContainer.
virtual void itk::CellInterface< TPixelType, TCellTraits >::SetPointId | ( | int | localId, | |
PointIdentifier | ||||
) | [pure virtual] |
Set the point identifier for a given spot in the point list for the cell.
virtual void itk::CellInterface< TPixelType, TCellTraits >::SetPointIds | ( | PointIdConstIterator | first, | |
PointIdConstIterator | last | |||
) | [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 void itk::CellInterface< TPixelType, TCellTraits >::SetPointIds | ( | PointIdConstIterator | first | ) | [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.
virtual UsingCellsContainerIterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsBegin | ( | void | ) | [virtual] |
Get a begin iterator for the UsingCellsContainer.
virtual UsingCellsContainerIterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsEnd | ( | void | ) | [virtual] |
Get an end iterator for the UsingCellsContainer.
UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::m_UsingCells [protected] |
Cell internal utility routines. Get the geometric position of a point. Store the set of cells using this boundary.
Definition at line 444 of file itkCellInterface.h.