RDKit: RDGeom::Transform3D Class Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Member Functions | List of all members
RDGeom::Transform3D Class Reference

`#include <Transform3D.h>`

Inheritance diagram for RDGeom::Transform3D:

## Public Member Functions
| Transform3D ()
| Constructor.
void | setToIdentity ()
void | TransformPoint (Point3D &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< 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.
| 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< 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
virtual | ~Matrix ()
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
| 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
virtual | ~Matrix ()
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 ()
| Matrix ()
Protected Attributes inherited from RDNumeric::Matrix< double >
unsigned int | d_nRows
unsigned int | d_nCols
unsigned int | d_dataSize
DATA_SPTR | d_data
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()

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().

## Member Function Documentation

## ◆ 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()

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

Referenced by RDGeom::compute14Dist3D().

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

- Transform3D.h