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 Member Functions

 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[], bool *, CellAutoPointer &)
virtual bool EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *)
virtual void EvaluateShapeFunctions (const ParametricCoordArrayType &, ShapeFunctionsArrayType &) const
virtual bool IntersectWithLine (CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType, CoordRepType[PointDimension], CoordRepType *, CoordRepType[])
CoordRepType GetBoundingBoxDiagonalLength2 (void)
virtual bool IntersectBoundingBoxWithLine (CoordRepType[PointDimension *2], CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType[PointDimension], CoordRepType *)
virtual bool IsExplicitBoundary (void)
virtual void AddUsingCell (CellIdentifier cellId)
virtual void RemoveUsingCell (CellIdentifier cellId)
virtual bool IsUsingCell (CellIdentifier cellId)
virtual unsigned int GetNumberOfUsingCells (void)
virtual UsingCellsContainerIterator UsingCellsBegin (void)
virtual UsingCellsContainerIterator UsingCellsEnd (void)
virtual const char * GetNameOfClass () const
 CellInterface ()
virtual ~CellInterface ()
CoordRepTypeGetBoundingBox (CoordRepType[PointDimension *2])

Static Public Member Functions

int GetNextUserCellId ()

Protected Attributes

UsingCellsContainer m_UsingCells


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.

Template parameters for Cell:

TPixelType = The type stored with an entity (cell, point, or boundary).

TCellTraits = Type information for cell.

Definition at line 112 of file itkCellInterface.h.


Member Typedef Documentation

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

Definition at line 145 of file itkCellInterface.h.

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

Definition at line 146 of file itkCellInterface.h.

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

Definition at line 148 of file itkCellInterface.h.

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

A useful rename.

Definition at line 151 of file itkCellInterface.h.

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

Definition at line 132 of file itkCellInterface.h.

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

Definition at line 131 of file itkCellInterface.h.

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

Definition at line 147 of file itkCellInterface.h.

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

Save the CellTraits template parameter.

Definition at line 123 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 144 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 126 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 127 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 160 of file itkCellInterface.h.

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

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

Save the PixelType template parameter.

Definition at line 120 of file itkCellInterface.h.

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

Definition at line 130 of file itkCellInterface.h.

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

Definition at line 128 of file itkCellInterface.h.

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

Definition at line 129 of file itkCellInterface.h.

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

Definition at line 134 of file itkCellInterface.h.

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

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

Definition at line 133 of file itkCellInterface.h.

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

Definition at line 161 of file itkCellInterface.h.

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

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

Definition at line 135 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 141 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 154 of file itkCellInterface.h.


Constructor & Destructor Documentation

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

Definition at line 420 of file itkCellInterface.h.

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

Definition at line 421 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  cellId  )  [virtual]
 

Register the fact that this cell is a part of the boundary of the cell cellId, by adding cellId to the UsingCellsContainer.

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

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

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

template<typename TPixelType, typename TCellTraits>
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 322 of file itkCellInterface.h.

References itk::CellInterface< TPixelType, TCellTraits >::ParametricCoordArrayType, and itk::CellInterface< TPixelType, TCellTraits >::ShapeFunctionsArrayType.

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  [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 352 of file itkCellInterface.h.

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

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

template<typename TPixelType, typename TCellTraits>
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 292 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>
virtual const char* itk::CellInterface< TPixelType, TCellTraits >::GetNameOfClass  )  const [virtual]
 

Standard part of every itk Object.

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]
 

Get the number of cells in the UsingCellsContainer.

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  [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:

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

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

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

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

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

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

Returns true if the cell has been explicitly assigned as a boundary, false otherwise.

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

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  cellId  )  [virtual]
 

Remove a cell from the UsingCellsContainer.

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]
 

Get a begin iterator for the UsingCellsContainer.

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

Get an end iterator for the UsingCellsContainer.


Member Data Documentation

template<typename TPixelType, typename TCellTraits>
UsingCellsContainer itk::CellInterface< TPixelType, TCellTraits >::m_UsingCells [protected]
 

Store the set of cells using this boundary.

Definition at line 429 of file itkCellInterface.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:32:48 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000