Loading...
Searching...
No Matches
RDGeom::Transform3D Class Reference

`#include <Transform3D.h>`

Inheritance diagram for RDGeom::Transform3D:

## Public Member Functions

| Transform3D ()
| Constructor.
| Transform3D (const Transform3D &t)=default
| Transform3D (Transform3D &&t)=default
| ~Transform3D ()=default
Transform3D & | operator= (const Transform3D &t)=default
Transform3D & | operator= (Transform3D &&t)=default
void | setToIdentity ()
void | TransformPoint (Point3D &pt) const
void | TransformPoint (double *pt) const
void | SetTranslation (const Point3D &move)
| Set the translation vector.
void | SetRotation (double angle, AxisType axis)
| set the rotation matrix
void | SetRotation (double angle, const Point3D &axis)
| set the rotation matrix
void | SetRotation (double cosT, double sinT, const Point3D &axis)
void | SetRotationFromQuaternion (const double quaternion[4])
| Set the rotation matrix from a quaternion.
void | Reflect ()
| Reflect the rotation.
Public Member Functions inherited from RDNumeric::SquareMatrix< double >
| SquareMatrix ()
| brief Square matrix of size N
| SquareMatrix (unsigned int N)
| SquareMatrix (unsigned int N, double val)
| SquareMatrix (unsigned int N, typename Matrix< double >::DATA_SPTR data)
| SquareMatrix (const SquareMatrix &B)=default
| SquareMatrix (SquareMatrix< double > &&B)=default
SquareMatrix & | operator= (const SquareMatrix< double > &B)=default
SquareMatrix & | operator= (SquareMatrix< double > &&B)=default
| ~SquareMatrix ()=default
SquareMatrix< double > & | operator*= (double scale) override
| Multiplication by a scalar.
virtual SquareMatrix< double > & | operator*= (const SquareMatrix< double > &B)
| In place matrix multiplication.
virtual SquareMatrix< double > & | transposeInplace ()
| In place matrix transpose.
Public Member Functions inherited from RDNumeric::Matrix< double >
| Matrix (unsigned int nRows, unsigned int nCols)
| Initialize with a size.
| Matrix (unsigned int nRows, unsigned int nCols, double val)
| Initialize with a size and default value.
| Matrix (unsigned int nRows, unsigned int nCols, DATA_SPTR data)
| Initialize from a pointer.
| Matrix (const Matrix< double > &other)
| copy constructor
| Matrix (Matrix< double > &&other)=default
virtual | ~Matrix ()
Matrix< double > & | operator= (const Matrix< double > &other)
Matrix< double > & | operator= (Matrix< double > &&other)=default
unsigned int | numRows () const
| returns the number of rows
unsigned int | numCols () const
| returns the number of columns
unsigned int | getDataSize () const
virtual double | getVal (unsigned int i, unsigned int j) const
| returns a particular element of the matrix
virtual void | setVal (unsigned int i, unsigned int j, double val)
| sets a particular element of the matrix
virtual double | getValUnchecked (unsigned int i, unsigned int j) const
| returns a particular element of the matrix
virtual void | setValUnchecked (unsigned int i, unsigned int j, double val)
| sets a particular element of the matrix
virtual void | getRow (unsigned int i, Vector< double > &row) const
| returns a copy of a row of the matrix
virtual void | getCol (unsigned int i, Vector< double > &col) const
| returns a copy of a column of the matrix
double * | getData ()
| returns a pointer to our data array
const double * | getData () const
| returns a const pointer to our data array
Matrix< double > & | assign (const Matrix< double > &other)
| Copy operator.
virtual Matrix< double > & | operator+= (const Matrix< double > &other)
| Matrix addition.
virtual Matrix< double > & | operator-= (const Matrix< double > &other)
| Matrix subtraction.
virtual Matrix< double > & | operator/= (double scale)
| division by a scalar
virtual Matrix< double > & | transpose (Matrix< double > &transpose) const
| copies the transpose of this Matrix into another, returns the result

## Additional Inherited Members

Public Types inherited from RDNumeric::Matrix< double >
typedef boost::shared_array< double > | DATA_SPTR
Protected Member Functions inherited from RDNumeric::Matrix< double >
| Matrix ()
Protected Attributes inherited from RDNumeric::Matrix< double >
unsigned int | d_nRows
unsigned int | d_nCols
unsigned int | d_dataSize
DATA_SPTR | d_data

## Detailed Description

Definition at line 22 of file Transform3D.h.

## Constructor & Destructor Documentation

## Transform3D() [1/3]

RDGeom::Transform3D::Transform3D | ( |  | ) |

inline

Constructor.

Initialize to an identity matrix transformation. This is a 4x4 matrix that includes the rotation and translation parts see Foley's "Introduction to Computer Graphics" for the representation

Operator *= and = are provided by the parent class square matrix. Operator *= needs some explanation, since the order matters. This transform gets set to the combination other and the current state of this transform If this_old and this_new are the states of this object before and after this function we have this_new(point) = this_old(other(point))

Definition at line 41 of file Transform3D.h.

References RDNumeric::Matrix< double >::d_data, RDGeom::DIM_3D, and RDNumeric::SquareMatrix< double >::SquareMatrix().

Referenced by operator=(), operator=(), Transform3D(), and Transform3D().

## Transform3D() [2/3]

RDGeom::Transform3D::Transform3D | ( | const Transform3D & | t | ) |

default

References Transform3D().

## Transform3D() [3/3]

RDGeom::Transform3D::Transform3D | ( | Transform3D && | t | ) |

default

References Transform3D().

## ~Transform3D()

RDGeom::Transform3D::~Transform3D | ( |  | ) |

default

## Member Function Documentation

## operator=() [1/2]

Transform3D & RDGeom::Transform3D::operator= | ( | const Transform3D & | t | ) |

default

References Transform3D().

## operator=() [2/2]

Transform3D & RDGeom::Transform3D::operator= | ( | Transform3D && | t | ) |

default

References Transform3D().

## Reflect()

void RDGeom::Transform3D::Reflect | ( |  | ) |

Reflect the rotation.

## SetRotation() [1/3]

void RDGeom::Transform3D::SetRotation | ( | double | angle,
|  | AxisType | axis )

set the rotation matrix

The rotation matrix is set to rotation by the specified angle about the specified axis

Referenced by RDGeom::compute14Dist3D().

## SetRotation() [2/3]

void RDGeom::Transform3D::SetRotation | ( | double | angle,
|  | const Point3D & | axis )

set the rotation matrix

The rotation matrix is set to rotation by the specified angle about an arbitrary axis. Note: if the axis is not a unit vector scaling will also occur. This can be ensured by a call to Point3D::normalize() prior to calling this method

## SetRotation() [3/3]

void RDGeom::Transform3D::SetRotation | ( | double | cosT,
|  | double | sinT,
|  | const Point3D & | axis )

## SetRotationFromQuaternion()

void RDGeom::Transform3D::SetRotationFromQuaternion | ( | const double | quaternion[4] | ) |

Set the rotation matrix from a quaternion.

## setToIdentity()

void RDGeom::Transform3D::setToIdentity | ( |  | ) |

## SetTranslation()

void RDGeom::Transform3D::SetTranslation | ( | const Point3D & | move | ) |

Set the translation vector.

## TransformPoint() [1/2]

void RDGeom::Transform3D::TransformPoint | ( | double * | pt | ) | const

## TransformPoint() [2/2]

void RDGeom::Transform3D::TransformPoint | ( | Point3D & | pt | ) | const

Referenced by RDGeom::compute14Dist3D().

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

- Transform3D.h