dlr::numeric::Transform3DTo2D Class Reference

The Transform3DTo2D class represents a homogeneous coordinate transformation from a 3D coordinate system to a 2D coordinate system. More...

#include <transform3DTo2D.h>

List of all members.

Public Member Functions

 Transform3DTo2D ()
 Default constructor.
 Transform3DTo2D (double a00, double a01, double a02, double a03, double a10, double a11, double a12, double a13, double a20, double a21, double a22, double a23)
 Build a Transform3DTo2D instance by explicitly setting element values as if setting the elements of a 3x4 transformation matrix: [[a00, a01, a02, a03], [a10, a11, a12, a13], [a20, a21, a22, a23]].
 Transform3DTo2D (const Array2D< double > &source)
 Build a Transform3D from a homogeneous 3x4 matrix.
 Transform3DTo2D (const Transform3DTo2D &src)
 The copy constructor simply duplicates its argument.
 ~Transform3DTo2D ()
 Destructor.
Transform3DTo2DFunctor getFunctor () const
 This member function returns a functor which makes it easier to transform arrays of points using algorithms such as std::transform().
void setTransform (double a00, double a01, double a02, double a03, double a10, double a11, double a12, double a13, double a20, double a21, double a22, double a23)
 Change the Transform3DTo2D value by explicitly setting element values as if setting the elements of a 3x4 transformation matrix: [[a00, a01, a02, a03], [a10, a11, a12, a13], [a20, a21, a22, a23]].
template<size_t row, size_t column>
double value () const
 This member function returns one element from the matrix representation of the coordinate transform by reference.
double operator() (size_t row, size_t column) const
 This operator returns one element from the matrix representation of the coordinate transform by reference.
Vector2D operator* (const Vector3D &vector0) const
 Applies the coordinate transformation to a Vector3D point and returns the result.
Transform3DTo2Doperator= (const Transform3DTo2D &source)
 The assignment operator simply duplicates its argument.


Detailed Description

The Transform3DTo2D class represents a homogeneous coordinate transformation from a 3D coordinate system to a 2D coordinate system.

Definition at line 36 of file transform3DTo2D.h.


Constructor & Destructor Documentation

dlr::numeric::Transform3DTo2D::Transform3DTo2D (  )  [inline]

Default constructor.

Definition at line 41 of file transform3DTo2D.h.

dlr::numeric::Transform3DTo2D::Transform3DTo2D ( double  a00,
double  a01,
double  a02,
double  a03,
double  a10,
double  a11,
double  a12,
double  a13,
double  a20,
double  a21,
double  a22,
double  a23 
) [inline]

Build a Transform3DTo2D instance by explicitly setting element values as if setting the elements of a 3x4 transformation matrix: [[a00, a01, a02, a03], [a10, a11, a12, a13], [a20, a21, a22, a23]].

Parameters:
a00 The value of one element of the transformation matrix.
a01 The value of one element of the transformation matrix.
a02 The value of one element of the transformation matrix.
a03 The value of one element of the transformation matrix.
a10 The value of one element of the transformation matrix.
a11 The value of one element of the transformation matrix.
a12 The value of one element of the transformation matrix.
a13 The value of one element of the transformation matrix.
a20 The value of one element of the transformation matrix.
a21 The value of one element of the transformation matrix.
a22 The value of one element of the transformation matrix.
a23 The value of one element of the transformation matrix.

Definition at line 68 of file transform3DTo2D.h.

dlr::numeric::Transform3DTo2D::Transform3DTo2D ( const Array2D< double > &  source  ) 

Build a Transform3D from a homogeneous 3x4 matrix.

Parameters:
source A 2D array containing the elements of the desired homogeneous transformation.

Definition at line 23 of file transform3DTo2D.cpp.

References dlr::numeric::Array2D< Type >::columns(), and dlr::numeric::Array2D< Type >::rows().

dlr::numeric::Transform3DTo2D::Transform3DTo2D ( const Transform3DTo2D src  )  [inline]

The copy constructor simply duplicates its argument.

Parameters:
src This is the Transform3DTo2D instance to be copied.

Definition at line 90 of file transform3DTo2D.h.

dlr::numeric::Transform3DTo2D::~Transform3DTo2D (  )  [inline]

Destructor.

Definition at line 99 of file transform3DTo2D.h.


Member Function Documentation

Transform3DTo2DFunctor dlr::numeric::Transform3DTo2D::getFunctor (  )  const

This member function returns a functor which makes it easier to transform arrays of points using algorithms such as std::transform().

For example:

 std::transform(myPoints.begin(), myPoints.end(), myNewPoints.begin(),
                myTransform.getFunctor());

Returns:
The return value is a functor instance which will transform points according to the current value of *this. The functor will contain a copy of *this, so that subsequent changes to *this will not affect the functor.

Definition at line 44 of file transform3DTo2D.cpp.

double dlr::numeric::Transform3DTo2D::operator() ( size_t  row,
size_t  column 
) const

This operator returns one element from the matrix representation of the coordinate transform by reference.

If blindingly fast execution is important, consider using value<size_t, size_t>() member function.

Parameters:
row The row of the requested element.
column The column of the requested element.
Returns:
A reference to the requested element. This operator returns one element from the matrix representation of the coordinate transform by value. If blindingly fast execution is important, consider using value<size_t, size_t>() member function.
Parameters:
row The row of the requested element.
column The column of the requested element.
Returns:
The value of the requested element.

Definition at line 112 of file transform3DTo2D.cpp.

Vector2D dlr::numeric::Transform3DTo2D::operator* ( const Vector3D vector0  )  const

Applies the coordinate transformation to a Vector3D point and returns the result.

Parameters:
vector0 The point to be transformed.
Returns:
The result of transforming vector0.

Definition at line 158 of file transform3DTo2D.cpp.

References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().

Transform3DTo2D & dlr::numeric::Transform3DTo2D::operator= ( const Transform3DTo2D source  ) 

The assignment operator simply duplicates its argument.

Parameters:
source This is the Transform3D instance to be copied.
Returns:
A reference to *this.

Definition at line 169 of file transform3DTo2D.cpp.

References m_00, m_01, m_02, m_03, m_10, m_11, m_12, m_13, m_20, m_21, m_22, and m_23.

void dlr::numeric::Transform3DTo2D::setTransform ( double  a00,
double  a01,
double  a02,
double  a03,
double  a10,
double  a11,
double  a12,
double  a13,
double  a20,
double  a21,
double  a22,
double  a23 
)

Change the Transform3DTo2D value by explicitly setting element values as if setting the elements of a 3x4 transformation matrix: [[a00, a01, a02, a03], [a10, a11, a12, a13], [a20, a21, a22, a23]].

Parameters:
a00 The value of one element of the transformation matrix.
a01 The value of one element of the transformation matrix.
a02 The value of one element of the transformation matrix.
a03 The value of one element of the transformation matrix.
a10 The value of one element of the transformation matrix.
a11 The value of one element of the transformation matrix.
a12 The value of one element of the transformation matrix.
a13 The value of one element of the transformation matrix.
a20 The value of one element of the transformation matrix.
a21 The value of one element of the transformation matrix.
a22 The value of one element of the transformation matrix.
a23 The value of one element of the transformation matrix.

Definition at line 57 of file transform3DTo2D.cpp.

Referenced by dlr::numeric::operator>>().

template<size_t ROW, size_t COLUMN>
double dlr::numeric::Transform3DTo2D::value (  )  const [inline]

This member function returns one element from the matrix representation of the coordinate transform by reference.

For example, calling myTransform3DTo2D.value<2, 3>() will return the element from the 2nd row, 3rd column of the matrix representation of the coordinate transformation.

Returns:
A reference to the requested element. This member function returns one element from the matrix representation of the coordinate transform by value. For example, calling myTransform3DTo2D.value<2, 3>() will return the element from the 2nd row, 3rd column of the matrix representation of the coordinate transformation.

The value of the requested element.

Definition at line 411 of file transform3DTo2D.h.

Referenced by dlr::numeric::operator*(), and dlr::numeric::operator<<().


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

Generated on Wed Nov 25 00:42:50 2009 for dlrUtilities Utility Library by  doxygen 1.5.8