Orfeo Toolbox  4.2
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Private Member Functions | Static Private Attributes | List of all members
itk::TriangleCell< TCellInterface > Class Template Reference

#include <itkTriangleCell.h>

+ Inheritance diagram for itk::TriangleCell< TCellInterface >:
+ Collaboration diagram for itk::TriangleCell< TCellInterface >:

Public Types

typedef EdgeType::SelfAutoPointer EdgeAutoPointer
 
typedef LineCell< TCellInterface > EdgeType
 
typedef VertexType::SelfAutoPointer VertexAutoPointer
 
typedef VertexCell
< TCellInterface > 
VertexType
 

Public Member Functions

 TriangleCell ()
 
 ~TriangleCell ()
 
CoordRepType ComputeArea (PointsContainer *)
 Compute Area to a TriangleCell given a PointsContainer. More...
 
PointType ComputeBarycenter (CoordRepType *, PointsContainer *)
 
PointType ComputeCenterOfGravity (PointsContainer *)
 
PointType ComputeCircumCenter (PointsContainer *)
 
virtual bool EvaluatePosition (CoordRepType *, PointsContainer *, CoordRepType *, CoordRepType[], double *, InterpolationWeightType *)
 
virtual bool GetBoundaryFeature (int dimension, CellFeatureIdentifier, CellAutoPointer &)
 
virtual unsigned int GetDimension (void) const
 
virtual bool GetEdge (CellFeatureIdentifier, EdgeAutoPointer &)
 
virtual const char * GetNameOfClass () const
 
virtual CellFeatureCount GetNumberOfBoundaryFeatures (int dimension) const
 
virtual CellFeatureCount GetNumberOfEdges (void) const
 
virtual unsigned int GetNumberOfPoints (void) const
 
virtual CellFeatureCount GetNumberOfVertices (void) const
 
virtual CellGeometry GetType (void) const
 
virtual bool GetVertex (CellFeatureIdentifier, VertexAutoPointer &)
 
 itkCellCommonTypedefs (TriangleCell)
 
 itkCellInheritedTypedefs (TCellInterface)
 
 itkCellVisitMacro (Superclass::TRIANGLE_CELL)
 
virtual void MakeCopy (CellAutoPointer &) const
 
virtual PointIdIterator PointIdsBegin (void)
 
virtual PointIdConstIterator PointIdsBegin (void) const
 
virtual PointIdIterator PointIdsEnd (void)
 
virtual PointIdConstIterator PointIdsEnd (void) const
 
virtual void SetPointId (int localId, PointIdentifier)
 
virtual void SetPointIds (PointIdConstIterator first)
 
virtual void SetPointIds (PointIdConstIterator first, PointIdConstIterator last)
 

Static Public Attributes

static const unsigned int CellDimension = 2
 
static const unsigned int NumberOfEdges = 3
 
static const unsigned int NumberOfPoints = 3
 
static const unsigned int NumberOfVertices = 3
 

Protected Attributes

std::vector< PointIdentifier > m_PointIds
 

Private Member Functions

 TriangleCell (const Self &)
 
double DistanceToLine (PointType x, PointType p1, PointType p2, double &t, CoordRepType *closestPoint)
 
double DistanceToLine (PointType x, PointType p1, PointType p2, double &t, PointType &closestPoint)
 
void operator= (const Self &)
 

Static Private Attributes

static const int m_Edges [3][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 } }
 

Detailed Description

template<typename TCellInterface>
class itk::TriangleCell< TCellInterface >

TriangleCell represents a triangle for a Mesh.

Template parameters for TriangleCell:

TPixelType = The type associated with a point, cell, or boundary for use in storing its data.

TCellTraits = Type information of mesh containing cell.

Definition at line 45 of file itkTriangleCell.h.

Member Typedef Documentation

template<typename TCellInterface >
typedef EdgeType::SelfAutoPointer itk::TriangleCell< TCellInterface >::EdgeAutoPointer

Definition at line 62 of file itkTriangleCell.h.

template<typename TCellInterface >
typedef LineCell< TCellInterface > itk::TriangleCell< TCellInterface >::EdgeType

The type of boundary for this triangle's edges.

Definition at line 61 of file itkTriangleCell.h.

template<typename TCellInterface >
typedef VertexType::SelfAutoPointer itk::TriangleCell< TCellInterface >::VertexAutoPointer

Definition at line 58 of file itkTriangleCell.h.

template<typename TCellInterface >
typedef VertexCell< TCellInterface > itk::TriangleCell< TCellInterface >::VertexType

The type of boundary for this triangle's vertices.

Definition at line 54 of file itkTriangleCell.h.

Constructor & Destructor Documentation

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::TriangleCell ( )
inline

Definition at line 126 of file itkTriangleCell.h.

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::~TriangleCell ( )
inline

Definition at line 129 of file itkTriangleCell.h.

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::TriangleCell ( const Self &  )
private

Member Function Documentation

template<typename TCellInterface >
TriangleCell< TCellInterface >::CoordRepType itk::TriangleCell< TCellInterface >::ComputeArea ( PointsContainer *  iPoints)

Compute Area to a TriangleCell given a PointsContainer.

Definition at line 363 of file itkTriangleCell.hxx.

References b.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointType itk::TriangleCell< TCellInterface >::ComputeBarycenter ( CoordRepType *  iWeights,
PointsContainer *  iPoints 
)

Definition at line 382 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointType itk::TriangleCell< TCellInterface >::ComputeCenterOfGravity ( PointsContainer *  iPoints)

Definition at line 414 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointType itk::TriangleCell< TCellInterface >::ComputeCircumCenter ( PointsContainer *  iPoints)

Definition at line 423 of file itkTriangleCell.hxx.

References b.

template<typename TCellInterface >
double itk::TriangleCell< TCellInterface >::DistanceToLine ( PointType  x,
PointType  p1,
PointType  p2,
double &  t,
CoordRepType *  closestPoint 
)
private

Computes the SQUARED distance between a point and a line segment defined by two other points

Compute distance to finite line. Returns parametric coordinate t and point location on line.

Definition at line 290 of file itkTriangleCell.hxx.

template<typename TCellInterface >
double itk::TriangleCell< TCellInterface >::DistanceToLine ( PointType  x,
PointType  p1,
PointType  p2,
double &  t,
PointType &  closestPoint 
)
private

Definition at line 315 of file itkTriangleCell.hxx.

template<typename TCellInterface >
bool itk::TriangleCell< TCellInterface >::EvaluatePosition ( CoordRepType *  ,
PointsContainer *  ,
CoordRepType *  ,
CoordRepType  [],
double *  ,
InterpolationWeightType *   
)
virtual

Evaluate the position of a given point inside the cell

Definition at line 468 of file itkTriangleCell.hxx.

References itk::NumericTraits< T >::min().

template<typename TCellInterface >
bool itk::TriangleCell< TCellInterface >::GetBoundaryFeature ( int  dimension,
CellFeatureIdentifier  featureId,
CellAutoPointer &  cellPointer 
)
virtual

Standard CellInterface: Get the boundary feature of the given dimension specified by the given cell feature Id. The Id can range from 0 to GetNumberOfBoundaryFeatures(dimension)-1.

Definition at line 90 of file itkTriangleCell.hxx.

References itk::TransferAutoPointer().

template<typename TCellInterface >
unsigned int itk::TriangleCell< TCellInterface >::GetDimension ( void  ) const
virtual

Standard CellInterface: Get the topological dimension of this cell.

Definition at line 44 of file itkTriangleCell.hxx.

template<typename TCellInterface >
bool itk::TriangleCell< TCellInterface >::GetEdge ( CellFeatureIdentifier  edgeId,
EdgeAutoPointer edgePointer 
)
virtual

Triangle-specific: Get the edge specified by the given cell feature Id. The Id can range from 0 to GetNumberOfEdges()-1.

Definition at line 273 of file itkTriangleCell.hxx.

References itk::LineCell< TCellInterface >::SetPointId().

template<typename TCellInterface >
virtual const char* itk::TriangleCell< TCellInterface >::GetNameOfClass ( ) const
virtual

Standard part of every itk Object.

template<typename TCellInterface >
TriangleCell< TCellInterface >::CellFeatureCount itk::TriangleCell< TCellInterface >::GetNumberOfBoundaryFeatures ( int  dimension) const
virtual

Standard CellInterface: Get the number of boundary features of the given dimension.

Definition at line 68 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::CellFeatureCount itk::TriangleCell< TCellInterface >::GetNumberOfEdges ( void  ) const
virtual

Triangle-specific: Get the number of edges defined for the triangle.

Definition at line 243 of file itkTriangleCell.hxx.

template<typename TCellInterface >
unsigned int itk::TriangleCell< TCellInterface >::GetNumberOfPoints ( void  ) const
virtual

Standard CellInterface: Get the number of points required to define the cell.

Definition at line 56 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::CellFeatureCount itk::TriangleCell< TCellInterface >::GetNumberOfVertices ( void  ) const
virtual

Triangle-specific interface.

Triangle-specific: Get the number of vertices defining the triangle.

Definition at line 231 of file itkTriangleCell.hxx.

template<typename TCellInterface >
virtual CellGeometry itk::TriangleCell< TCellInterface >::GetType ( void  ) const
inlinevirtual

Implement the standard CellInterface.

Definition at line 71 of file itkTriangleCell.h.

template<typename TCellInterface >
bool itk::TriangleCell< TCellInterface >::GetVertex ( CellFeatureIdentifier  vertexId,
VertexAutoPointer vertexPointer 
)
virtual

Triangle-specific: Get the vertex specified by the given cell feature Id. The Id can range from 0 to GetNumberOfVertices()-1.

Definition at line 256 of file itkTriangleCell.hxx.

References itk::VertexCell< TCellInterface >::SetPointId().

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::itkCellCommonTypedefs ( TriangleCell< TCellInterface >  )

Standard class typedefs.

template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::itkCellInheritedTypedefs ( TCellInterface  )
template<typename TCellInterface >
itk::TriangleCell< TCellInterface >::itkCellVisitMacro ( Superclass::TRIANGLE_CELL  )

Cell visitor interface.

template<typename TCellInterface >
void itk::TriangleCell< TCellInterface >::MakeCopy ( CellAutoPointer &  cellPointer) const
virtual

Standard CellInterface:

Definition at line 31 of file itkTriangleCell.hxx.

template<typename TCellInterface >
void itk::TriangleCell< TCellInterface >::operator= ( const Self &  )
private
template<typename TCellInterface >
TriangleCell< TCellInterface >::PointIdIterator itk::TriangleCell< TCellInterface >::PointIdsBegin ( void  )
virtual

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

Definition at line 181 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointIdConstIterator itk::TriangleCell< TCellInterface >::PointIdsBegin ( void  ) const
virtual

Standard CellInterface: Get a const begin iterator to the list of point identifiers used by the cell.

Definition at line 194 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointIdIterator itk::TriangleCell< TCellInterface >::PointIdsEnd ( void  )
virtual

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

Definition at line 206 of file itkTriangleCell.hxx.

template<typename TCellInterface >
TriangleCell< TCellInterface >::PointIdConstIterator itk::TriangleCell< TCellInterface >::PointIdsEnd ( void  ) const
virtual

Standard CellInterface: Get a const end iterator to the list of point identifiers used by the cell.

Definition at line 219 of file itkTriangleCell.hxx.

template<typename TCellInterface >
void itk::TriangleCell< TCellInterface >::SetPointId ( int  localId,
PointIdentifier  ptId 
)
virtual

Standard CellInterface: Set an individual point identifier in the cell.

Definition at line 169 of file itkTriangleCell.hxx.

Referenced by itk::VTKPolyDataReader< TOutputMesh >::GenerateData(), and itk::TetrahedronCell< TCellInterface >::GetFace().

template<typename TCellInterface >
void itk::TriangleCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first)
virtual

Standard CellInterface: 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.

Definition at line 131 of file itkTriangleCell.hxx.

template<typename TCellInterface >
void itk::TriangleCell< TCellInterface >::SetPointIds ( PointIdConstIterator  first,
PointIdConstIterator  last 
)
virtual

Standard CellInterface: 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.

Definition at line 151 of file itkTriangleCell.hxx.

Member Data Documentation

template<typename TCellInterface >
const unsigned int itk::TriangleCell< TCellInterface >::CellDimension = 2
static

Definition at line 68 of file itkTriangleCell.h.

const int itk::TriangleCellTopology::m_Edges = { { 0, 1 }, { 1, 2 }, { 2, 0 } }
staticprotectedinherited

Triangle topology data.

The triangle's topology data: Edges

Definition at line 45 of file itkTriangleCellTopology.h.

template<typename TCellInterface >
std::vector< PointIdentifier > itk::TriangleCell< TCellInterface >::m_PointIds
protected

Store the number of points needed for a triangle.

Definition at line 133 of file itkTriangleCell.h.

template<typename TCellInterface >
const unsigned int itk::TriangleCell< TCellInterface >::NumberOfEdges = 3
static

Definition at line 67 of file itkTriangleCell.h.

template<typename TCellInterface >
const unsigned int itk::TriangleCell< TCellInterface >::NumberOfPoints = 3
static

Triangle-specific topology numbers.

Definition at line 65 of file itkTriangleCell.h.

template<typename TCellInterface >
const unsigned int itk::TriangleCell< TCellInterface >::NumberOfVertices = 3
static

Definition at line 66 of file itkTriangleCell.h.


The documentation for this class was generated from the following files:

Generated at Sat Aug 30 2014 18:07:33 for Orfeo Toolbox with doxygen 1.8.3.1