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

itk::Point< TCoordRep, NPointDimension > Class Template Reference
[Geometry Representation ObjectsData Representation Objects]

#include <itkPoint.h>

Inheritance diagram for itk::Point< TCoordRep, NPointDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::Point< TCoordRep, NPointDimension >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class TCoordRep, unsigned int NPointDimension = 3>
class itk::Point< TCoordRep, NPointDimension >

A templated class holding a geometric point in n-Dimensional space.

Point is a templated class that holds a set of coordinates (components). Point can be used as the data type held at each pixel in an Image or at each vertex of an Mesh. The template parameter T can be any data type that behaves like a primitive (or atomic) data type (int, short, float, complex). The NPointDimension defines the number of components in the point array.

See also:
Image

Mesh

Vector

CovariantVector

Matrix

Definition at line 45 of file itkPoint.h.

Public Types

typedef FixedArray< TCoordRep,
NPointDimension > 
BaseArray
typedef BaseArray::ConstIterator ConstIterator
typedef TCoordRep CoordRepType
typedef BaseArray::Iterator Iterator
typedef NumericTraits< ValueType
>::RealType 
RealType
typedef Point Self
typedef FixedArray< TCoordRep,
NPointDimension > 
Superclass
typedef TCoordRep ValueType
typedef Vector< ValueType,
NPointDimension > 
VectorType

Public Member Functions

template<typename TCoordRepB>
Copy from another Point with
a different representation
type *Casting is done with
C Like rules *void 
CastFrom (const Point< TCoordRepB, NPointDimension > &pa)
template<typename TCoordRepB>
Compute the Euclidean Distance
from this point to another
point *with a different representation
type Casting is done with
C Like rules *RealType 
EuclideanDistanceTo (const Point< TCoordRepB, NPointDimension > &pa) const
Set the current point to a
barycentric combination of
the two points *given as arguments
**param f alpha the second
is multiplied *by * 
f (1-\alpha)\f $
vnl_vector< TCoordRep > Get_vnl_vector (void) const
vnl_vector_ref< TCoordRep > Get_vnl_vector (void)
VectorType GetVectorFromOrigin () const
vnl_vector< TCoordRep > GetVnlVector (void) const
vnl_vector_ref< TCoordRep > GetVnlVector (void)
 itkStaticConstMacro (PointDimension, unsigned int, NPointDimension)
Set the current point to a
barycentric combination of
an array of N points *An array 
of (N-1) values is expected to weight the contribution of the *first(N-1) points
Pass through assignment operator for the Array base class.*/Point &operator= (const Self &r)
Compare two points for inequality
*bool 
operator!= (const Self &pt) const
Self operator+ (const VectorType &vec) const
const Selfoperator+= (const VectorType &vec)
Self operator- (const VectorType &vec) const
VectorType operator- (const Self &pnt) const
const Selfoperator-= (const VectorType &vec)
Pointoperator= (const ValueType r[NPointDimension])
Compare two points for equality
*bool 
operator== (const Self &pt) const
 Point (const ValueType r[PointDimension])
Pass through constructor for
the Array base class
Point (const Self &r)
 Point ()
Set the current point to a
barycentric combination of
three points *Two values are
expected to weight the contribution
of the first two *the weight
of for the third point is
computed to ensure that the
three weights *sum **This
method The resulting point
will alway be placed *inside
the triangle formed by the
three points given as arguments
*void 
SetToBarycentricCombination (const Self &A, const Self &B, const Self &C, double weightA, double weightB)
void SetToMidPoint (const Self &, const Self &)
template<typename TCoordRepB>
RealType SquaredEuclideanDistanceTo (const Point< TCoordRepB, NPointDimension > &pa) const

Static Public Member Functions

static unsigned int GetPointDimension ()

Public Attributes

Set the current point to a
barycentric combination of
an array of N points *An array
the weight of the Nth point
is computed to ensure that
*the N weights sum **This
method 
computes: * * \f[ * \overrightarrow{P}= \sum_{i=1}^{N-1} w_i * \overrightarrow{P}_i + \left(1- \sum_{i=1}^{N-1} w_i\right) * \overrightarrow{P}_N * \f] */ void SetToBarycentricCombination( const Self * P
Set the current point to a
barycentric combination of
three points *Two values are
expected to weight the contribution
of the first two *the weight
of for the third point is
computed to ensure that the
three weights *sum **This
method 
computes: * * \f[ * \overrightarrow{P}= w_1 * \overrightarrow{P}_1 + w_2 * \overrightarrow{P}_2 + (1-w_1-w_2 ) * \overrightarrow{P}_3 * \f] * * If the two weight are \f$ \in [0
Set the current point to a
barycentric combination of
three points *Two values are
expected to weight the contribution
of the first two *the weight
of for the third point is
computed to ensure that the
three weights *sum **This
method 
f
Set the current point to a
barycentric combination of
the two points *given as arguments
**param f alpha the second
is multiplied *by *and the
sum is stored in the Point
on which the *method is invoked
**f *[*\overrightarrow{P}=\alpha *\overrightarrow{A}+(1-\alpha)*\overrightarrow{B}*\f]*If the value of f
alpha in 
f [0, 1]
Set the current point to a
barycentric combination of
the two points *given as arguments
**param f alpha 
f
Set the current point to a
barycentric combination of
an array of N points *An array
the weight of the Nth point
is computed to ensure that
*the N weights sum **This
method const double unsigned
int 
N
Set the current point to a
barycentric combination of
three points *Two values are
expected to weight the contribution
of the first two 
points
Set the current point to a
barycentric combination of
an array of N points *An array
the weight of the Nth point
is computed to ensure that
*the N weights sum **This
method const double * 
weights


Member Typedef Documentation

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef FixedArray<TCoordRep, NPointDimension> itk::Point< TCoordRep, NPointDimension >::BaseArray
 

The Array type from which this Vector is derived.

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 63 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef BaseArray::ConstIterator itk::Point< TCoordRep, NPointDimension >::ConstIterator
 

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 65 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef TCoordRep itk::Point< TCoordRep, NPointDimension >::CoordRepType
 

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 55 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef BaseArray::Iterator itk::Point< TCoordRep, NPointDimension >::Iterator
 

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 64 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef NumericTraits< ValueType >::RealType itk::Point< TCoordRep, NPointDimension >::RealType
 

Definition at line 57 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef Point itk::Point< TCoordRep, NPointDimension >::Self
 

Standard class typedefs.

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 49 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef FixedArray<TCoordRep,NPointDimension> itk::Point< TCoordRep, NPointDimension >::Superclass
 

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 50 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef TCoordRep itk::Point< TCoordRep, NPointDimension >::ValueType
 

ValueType can be used to declare a variable that is the same type as a data element held in an Point.

Reimplemented in itk::ContinuousIndex< TCoordRep, VIndexDimension >.

Definition at line 54 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
typedef Vector< ValueType, NPointDimension > itk::Point< TCoordRep, NPointDimension >::VectorType
 

VectorType define the difference between two Points

Definition at line 72 of file itkPoint.h.


Constructor & Destructor Documentation

template<class TCoordRep, unsigned int NPointDimension = 3>
itk::Point< TCoordRep, NPointDimension >::Point  )  [inline]
 

Default constructor has nothing to do.

Definition at line 75 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Pass through constructor for the Array base class* itk::Point< TCoordRep, NPointDimension >::Point const Self r  )  [inline]
 

Definition at line 78 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
itk::Point< TCoordRep, NPointDimension >::Point const ValueType  r[PointDimension]  )  [inline]
 

Definition at line 79 of file itkPoint.h.


Member Function Documentation

template<class TCoordRep, unsigned int NPointDimension = 3>
template<typename TCoordRepB>
Copy from another Point with a different representation type* Casting is done with C Like rules* void itk::Point< TCoordRep, NPointDimension >::CastFrom const Point< TCoordRepB, NPointDimension > &  pa  )  [inline]
 

Definition at line 219 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
template<typename TCoordRepB>
Compute the Euclidean Distance from this point to another point* with a different representation type Casting is done with C Like rules* RealType itk::Point< TCoordRep, NPointDimension >::EuclideanDistanceTo const Point< TCoordRepB, NPointDimension > &  pa  )  const [inline]
 

Definition at line 250 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of the two points* given as arguments* * param f alpha the second is multiplied* by* itk::Point< TCoordRep, NPointDimension >::f 1-\  alpha  ) 
 

template<class TCoordRep, unsigned int NPointDimension = 3>
vnl_vector<TCoordRep> itk::Point< TCoordRep, NPointDimension >::Get_vnl_vector void   )  const
 

Get a vnl_vector with a copy of the internal memory block.

Deprecated:
Use GetVnlVector() instead.

template<class TCoordRep, unsigned int NPointDimension = 3>
vnl_vector_ref<TCoordRep> itk::Point< TCoordRep, NPointDimension >::Get_vnl_vector void   ) 
 

Get a vnl_vector_ref referencing the same memory block

Deprecated:
Use GetVnlVector() instead.

template<class TCoordRep, unsigned int NPointDimension = 3>
static unsigned int itk::Point< TCoordRep, NPointDimension >::GetPointDimension  )  [inline, static]
 

Get the dimension (size) of the point.

Definition at line 68 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
VectorType itk::Point< TCoordRep, NPointDimension >::GetVectorFromOrigin  )  const
 

Access an element of a point.

template<class TCoordRep, unsigned int NPointDimension = 3>
vnl_vector<TCoordRep> itk::Point< TCoordRep, NPointDimension >::GetVnlVector void   )  const
 

Get a vnl_vector with a copy of the internal memory block.

template<class TCoordRep, unsigned int NPointDimension = 3>
vnl_vector_ref<TCoordRep> itk::Point< TCoordRep, NPointDimension >::GetVnlVector void   ) 
 

Get a vnl_vector_ref referencing the same memory block

template<class TCoordRep, unsigned int NPointDimension = 3>
itk::Point< TCoordRep, NPointDimension >::itkStaticConstMacro PointDimension  ,
unsigned  int,
NPointDimension 
 

Dimension of the Space

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of an array of N points* An array itk::Point< TCoordRep, NPointDimension >::of N 1  ) 
 

template<class TCoordRep, unsigned int NPointDimension = 3>
Pass through assignment itk::Point< TCoordRep, NPointDimension >::operator for the Array base class.*/Point &operator= const Self r  ) 
 

template<class TCoordRep, unsigned int NPointDimension = 3>
Compare two points for inequality* bool itk::Point< TCoordRep, NPointDimension >::operator!= const Self pt  )  const [inline]
 

Definition at line 100 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Self itk::Point< TCoordRep, NPointDimension >::operator+ const VectorType vec  )  const
 

Add a vector to a point. Return a new point.

template<class TCoordRep, unsigned int NPointDimension = 3>
const Self& itk::Point< TCoordRep, NPointDimension >::operator+= const VectorType vec  ) 
 

Point operator+=. Adds a vector to the current point.

template<class TCoordRep, unsigned int NPointDimension = 3>
Self itk::Point< TCoordRep, NPointDimension >::operator- const VectorType vec  )  const
 

Subtract a vector from a point. Return a new point.

template<class TCoordRep, unsigned int NPointDimension = 3>
VectorType itk::Point< TCoordRep, NPointDimension >::operator- const Self pnt  )  const
 

Computes the Vector difference between two points

template<class TCoordRep, unsigned int NPointDimension = 3>
const Self& itk::Point< TCoordRep, NPointDimension >::operator-= const VectorType vec  ) 
 

Point operator-=. Subtracts a vector from a current point.

template<class TCoordRep, unsigned int NPointDimension = 3>
Point& itk::Point< TCoordRep, NPointDimension >::operator= const ValueType  r[NPointDimension]  ) 
 

template<class TCoordRep, unsigned int NPointDimension = 3>
Compare two points for equality* bool itk::Point< TCoordRep, NPointDimension >::operator== const Self pt  )  const [inline]
 

Definition at line 89 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of three points* Two values are expected to weight the contribution of the first two * the weight of for the third point is computed to ensure that the three weights* sum* * This method The resulting point will alway be placed* inside the triangle formed by the three points given as arguments* void itk::Point< TCoordRep, NPointDimension >::SetToBarycentricCombination const Self A,
const Self B,
const Self C,
double  weightA,
double  weightB
 

template<class TCoordRep, unsigned int NPointDimension = 3>
void itk::Point< TCoordRep, NPointDimension >::SetToMidPoint const Self ,
const Self
 

Set to median point between the two points given as arguments

This method computes:

\[ \overrightarrow{P}=\frac{(\overrightarrow{A}+\overrightarrow{B})}{2} \]

using the two Points given as arguments, and store the result in the Point on which the method is invoked.

template<class TCoordRep, unsigned int NPointDimension = 3>
template<typename TCoordRepB>
RealType itk::Point< TCoordRep, NPointDimension >::SquaredEuclideanDistanceTo const Point< TCoordRepB, NPointDimension > &  pa  )  const [inline]
 

Compute the Squared Euclidean Distance from this point to another point with a different representation type. Casting is done with C-Like rules

Definition at line 233 of file itkPoint.h.


Member Data Documentation

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of an array of N points* An array the weight of the Nth point is computed to ensure that* the N weights sum* * This method itk::Point< TCoordRep, NPointDimension >::computes
 

Definition at line 212 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of three points* Two values are expected to weight the contribution of the first two * the weight of for the third point is computed to ensure that the three weights* sum* * This method itk::Point< TCoordRep, NPointDimension >::computes
 

Definition at line 167 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of three points* Two values are expected to weight the contribution of the first two * the weight of for the third point is computed to ensure that the three weights* sum* * This method itk::Point< TCoordRep, NPointDimension >::f
 

Definition at line 167 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of the two points* given as arguments* * param f alpha the second is multiplied* by* and the sum is stored in the Point on which the* method is invoked* * f* [ * \overrightarrow{P}=\alpha * \overrightarrow{A}+ (1-\alpha)*\overrightarrow{B} * \f] * If the value of f alpha in itk::Point< TCoordRep, NPointDimension >::f[0,1]
 

Definition at line 167 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of the two points* given as arguments* * param f alpha itk::Point< TCoordRep, NPointDimension >::f
 

Initial value:

 weight for the first point
   * 
   * The first point is multiplied by \f$ \alpha \f$

Definition at line 157 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of an array of N points* An array the weight of the Nth point is computed to ensure that* the N weights sum* * This method const double unsigned int itk::Point< TCoordRep, NPointDimension >::N
 

Definition at line 212 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of three points* Two values are expected to weight the contribution of the first two itk::Point< TCoordRep, NPointDimension >::points
 

Definition at line 167 of file itkPoint.h.

template<class TCoordRep, unsigned int NPointDimension = 3>
Set the current point to a barycentric combination of an array of N points* An array the weight of the Nth point is computed to ensure that* the N weights sum* * This method const double* itk::Point< TCoordRep, NPointDimension >::weights
 

Definition at line 212 of file itkPoint.h.


The documentation for this class was generated from the following file:
Generated at Sun Jul 9 21:08:55 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000