Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::CellInterface< TPixelType, TCellTraits > Class Template Reference
[Mesh Representation Objects]

#include <itkCellInterface.h>

List of all members.

Public Types

typedef TPixelType PixelType
typedef TCellTraits CellTraits
typedef CellTraits::CoordRepType CoordRepType
typedef CellTraits::InterpolationWeightType InterpolationWeightType
typedef CellTraits::PointIdentifier PointIdentifier
typedef CellTraits::PointIdIterator PointIdIterator
typedef CellTraits::PointIdConstIterator PointIdConstIterator
typedef CellTraits::CellIdentifier CellIdentifier
typedef CellTraits::CellFeatureIdentifier CellFeatureIdentifier
typedef CellTraits::PointType PointType
typedef CellTraits::PointsContainer PointsContainer
typedef CellTraits::UsingCellsContainer UsingCellsContainer
typedef UsingCellsContainer::iterator UsingCellsContainerIterator
typedef CellInterface CellType
typedef SelfAutoPointer CellAutoPointer
typedef ConstSelfAutoPointer CellConstAutoPointer
typedef RawPointer CellRawPointer
typedef ConstRawPointer CellConstRawPointer
typedef CellFeatureIdentifier CellFeatureCount
typedef Array< CoordRepTypeParametricCoordArrayType
typedef Array< InterpolationWeightTypeShapeFunctionsArrayType
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
}

Public Methods

 itkCellCommonTypedefs (CellInterface)
 itkStaticConstMacro (PointDimension, unsigned int, CellTraits::PointDimension)
virtual void Accept (unsigned long cellId, MultiVisitor *)=0
virtual CellGeometry GetType (void) const=0
virtual void MakeCopy (CellAutoPointer &) const=0
virtual unsigned int GetDimension (void) const=0
virtual unsigned int GetInterpolationOrder (void) const
virtual unsigned int GetNumberOfPoints (void) const=0
virtual CellFeatureCount GetNumberOfBoundaryFeatures (int dimension) const=0
virtual bool GetBoundaryFeature (int dimension, CellFeatureIdentifier, CellAutoPointer &)=0
virtual PointIdConstIterator GetPointIds (void) const
virtual void SetPointIds (PointIdConstIterator first)=0
virtual void SetPointIds (PointIdConstIterator first, PointIdConstIterator last)=0
virtual void SetPointId (int localId, PointIdentifier)=0
virtual PointIdIterator PointIdsBegin (void)=0
virtual PointIdConstIterator PointIdsBegin (void) const=0
virtual PointIdIterator PointIdsEnd (void)=0
virtual PointIdConstIterator PointIdsEnd (void) const=0
virtual bool GetClosestBoundary (CoordRepType pCoords[], bool *inside, CellAutoPointer &)
virtual bool EvaluatePosition (CoordRepType coords[PointDimension], CoordRepType closestPoint[PointDimension], CoordRepType pCoords[], CoordRepType *dist2, InterpolationWeightType weights[])
virtual void EvaluateShapeFunctions (const ParametricCoordArrayType &parametricCoordinates, ShapeFunctionsArrayType &weights) const
virtual bool IntersectWithLine (CoordRepType origin[PointDimension], CoordRepType direction[PointDimension], CoordRepType tolerance, CoordRepType coords[PointDimension], CoordRepType *t, CoordRepType pCoords[])
CoordRepType GetBoundingBoxDiagonalLength2 (void)
virtual bool IntersectBoundingBoxWithLine (CoordRepType bounds[PointDimension *2], CoordRepType origin[PointDimension], CoordRepType direction[PointDimension], CoordRepType coords[PointDimension], CoordRepType *t)
virtual const char * GetClassName () const
 CellInterface ()
virtual ~CellInterface ()
CoordRepTypeGetBoundingBox (CoordRepType bounds[PointDimension *2])
virtual bool IsBoundary (void)
virtual void AddUsingCell (CellIdentifier)
virtual void RemoveUsingCell (CellIdentifier)
virtual bool IsUsingCell (CellIdentifier)
virtual unsigned int GetNumberOfUsingCells (void)
virtual UsingCellsContainerIterator UsingCellsBegin (void)
virtual UsingCellsContainerIterator UsingCellsEnd (void)

Static Public Methods

int GetNextUserCellId ()


Detailed Description

template<typename TPixelType, typename TCellTraits>
class itk::CellInterface< TPixelType, TCellTraits >

Define an abstract interface for cells. Actual cell types derive from this class.

Extra information in cells that are actually boundaries between other cells is provided in the CellBoundary wrapper.

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.


Member Typedef Documentation

template<typename TPixelType, typename TCellTraits>
typedef SelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellAutoPointer
 

Definition at line 148 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef ConstSelfAutoPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstAutoPointer
 

Definition at line 149 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef ConstRawPointer itk::CellInterface< TPixelType, TCellTraits >::CellConstRawPointer
 

Definition at line 151 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureCount
 

A useful rename.

Definition at line 154 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::CellFeatureIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellFeatureIdentifier
 

Definition at line 135 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::CellIdentifier itk::CellInterface< TPixelType, TCellTraits >::CellIdentifier
 

Definition at line 134 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef RawPointer itk::CellInterface< TPixelType, TCellTraits >::CellRawPointer
 

Definition at line 150 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef TCellTraits itk::CellInterface< TPixelType, TCellTraits >::CellTraits
 

Save the CellTraits template parameter.

Definition at line 126 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellInterface itk::CellInterface< TPixelType, TCellTraits >::CellType
 

Give this and all derived classes quick access to the base cell type.

Definition at line 147 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::CoordRepType itk::CellInterface< TPixelType, TCellTraits >::CoordRepType
 

Save type information for this cell.

Definition at line 129 of file itkCellInterface.h.

Referenced by itk::CellInterface< TPixelType, TCellTraits >::EvaluatePosition(), itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBox(), itk::CellInterface< TPixelType, TCellTraits >::IntersectBoundingBoxWithLine(), and itk::CellInterface< TPixelType, TCellTraits >::IntersectWithLine().

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::InterpolationWeightType itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType
 

Definition at line 130 of file itkCellInterface.h.

Referenced by itk::CellInterface< TPixelType, TCellTraits >::EvaluatePosition().

template<typename TPixelType, typename TCellTraits>
typedef Array<CoordRepType> itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType
 

Types needed to contour the cells

Definition at line 163 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef TPixelType itk::CellInterface< TPixelType, TCellTraits >::PixelType
 

Save the PixelType template parameter.

Definition at line 123 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::PointIdConstIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdConstIterator
 

Definition at line 133 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::PointIdentifier itk::CellInterface< TPixelType, TCellTraits >::PointIdentifier
 

Definition at line 131 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdIterator
 

Definition at line 132 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::PointsContainer itk::CellInterface< TPixelType, TCellTraits >::PointsContainer
 

Definition at line 137 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::PointType itk::CellInterface< TPixelType, TCellTraits >::PointType
 

Definition at line 136 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef Array<InterpolationWeightType> itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType
 

Definition at line 164 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef CellTraits::UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainer
 

Definition at line 138 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
typedef UsingCellsContainer::iterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsContainerIterator
 

An iterator through the UsingCellsContainer.

Definition at line 144 of file itkCellInterface.h.


Member Enumeration Documentation

template<typename TPixelType, typename TCellTraits>
enum itk::CellInterface::CellGeometry
 

Cell Visitor interfaces

Enumeration values:
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 157 of file itkCellInterface.h.


Constructor & Destructor Documentation

template<typename TPixelType, typename TCellTraits>
itk::CellInterface< TPixelType, TCellTraits >::CellInterface   [inline]
 

Definition at line 392 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
virtual itk::CellInterface< TPixelType, TCellTraits >::~CellInterface   [inline, virtual]
 

Definition at line 393 of file itkCellInterface.h.


Member Function Documentation

template<typename TPixelType, typename TCellTraits>
virtual void itk::CellInterface< TPixelType, TCellTraits >::Accept unsigned long    cellId,
MultiVisitor  
[pure virtual]
 

This must be implemented by all sub-classes of CellInterface

template<typename TPixelType, typename TCellTraits>
virtual void itk::CellInterface< TPixelType, TCellTraits >::AddUsingCell CellIdentifier    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::EvaluatePosition CoordRepType    coords[PointDimension],
CoordRepType    closestPoint[PointDimension],
CoordRepType    pCoords[],
CoordRepType   dist2,
InterpolationWeightType    weights[]
[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:

  • 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 313 of file itkCellInterface.h.

References itk::CellInterface< TPixelType, TCellTraits >::CoordRepType, and itk::CellInterface< TPixelType, TCellTraits >::InterpolationWeightType.

template<typename TPixelType, typename TCellTraits>
virtual void itk::CellInterface< TPixelType, TCellTraits >::EvaluateShapeFunctions const ParametricCoordArrayType   parametricCoordinates,
ShapeFunctionsArrayType   weights
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 323 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::GetBoundaryFeature int    dimension,
CellFeatureIdentifier   ,
CellAutoPointer  
[pure virtual]
 

Get the boundary feature corresponding to the given dimension and Id.

template<typename TPixelType, typename TCellTraits>
CoordRepType* itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBox CoordRepType    bounds[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 353 of file itkCellInterface.h.

References itk::CellInterface< TPixelType, TCellTraits >::CoordRepType.

template<typename TPixelType, typename TCellTraits>
CoordRepType itk::CellInterface< TPixelType, TCellTraits >::GetBoundingBoxDiagonalLength2 void    [inline]
 

Compute the square of the diagonal length of the bounding box.

Definition at line 357 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
virtual const char* itk::CellInterface< TPixelType, TCellTraits >::GetClassName   const [virtual]
 

Standard part of every itk Object.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::GetClosestBoundary CoordRepType    pCoords[],
bool *    inside,
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 294 of file itkCellInterface.h.

template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetDimension void    const [pure virtual]
 

Get the topological dimension of this cell.

template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetInterpolationOrder void    const [virtual]
 

Get the interpolation order of the cell. Usually linear.

template<typename TPixelType, typename TCellTraits>
int itk::CellInterface< TPixelType, TCellTraits >::GetNextUserCellId   [static]
 

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfPoints void    const [pure virtual]
 

Get the number of points required to define the cell.

template<typename TPixelType, typename TCellTraits>
virtual unsigned int itk::CellInterface< TPixelType, TCellTraits >::GetNumberOfUsingCells void    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
virtual CellGeometry itk::CellInterface< TPixelType, TCellTraits >::GetType void    const [pure virtual]
 

Return the type of the cell (one of the CellGeometry enums listed above).

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IntersectBoundingBoxWithLine CoordRepType    bounds[PointDimension *2],
CoordRepType    origin[PointDimension],
CoordRepType    direction[PointDimension],
CoordRepType    coords[PointDimension],
CoordRepType   t
[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:

  • 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 371 of file itkCellInterface.h.

References itk::CellInterface< TPixelType, TCellTraits >::CoordRepType.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IntersectWithLine CoordRepType    origin[PointDimension],
CoordRepType    direction[PointDimension],
CoordRepType    tolerance,
CoordRepType    coords[PointDimension],
CoordRepType   t,
CoordRepType    pCoords[]
[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:

  • 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 342 of file itkCellInterface.h.

References itk::CellInterface< TPixelType, TCellTraits >::CoordRepType.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IsBoundary void    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
virtual bool itk::CellInterface< TPixelType, TCellTraits >::IsUsingCell CellIdentifier    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
itk::CellInterface< TPixelType, TCellTraits >::itkCellCommonTypedefs CellInterface< TPixelType, TCellTraits >   
 

Standard class typedefs.

template<typename TPixelType, typename TCellTraits>
itk::CellInterface< TPixelType, TCellTraits >::itkStaticConstMacro PointDimension   ,
unsigned    int,
CellTraits::PointDimension   
 

Save the dimension from the template parameters.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
virtual PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsBegin void    [pure virtual]
 

Get a begin iterator to the list of point identifiers used by the cell.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
virtual PointIdIterator itk::CellInterface< TPixelType, TCellTraits >::PointIdsEnd void    [pure virtual]
 

Get an end iterator to the list of point identifiers used by the cell.

template<typename TPixelType, typename TCellTraits>
virtual void itk::CellInterface< TPixelType, TCellTraits >::RemoveUsingCell CellIdentifier    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
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.

template<typename TPixelType, typename TCellTraits>
virtual UsingCellsContainerIterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsBegin void    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.

template<typename TPixelType, typename TCellTraits>
virtual UsingCellsContainerIterator itk::CellInterface< TPixelType, TCellTraits >::UsingCellsEnd void    [virtual]
 

Interface to the boundary form of the cell to set/get UsingCells. See the boundary wrapper source for more information.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:14:56 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000