RDKit
Open-source cheminformatics and machine learning.
|
#include <Transform3D.h>
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 (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. | |
Public Member Functions inherited from RDNumeric::Matrix< TYPE > | |
Matrix (unsigned int nRows, unsigned int nCols) | |
Initialize with a size. | |
Matrix (unsigned int nRows, unsigned int nCols, TYPE 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< TYPE > &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 TYPE | getVal (unsigned int i, unsigned int j) const |
returns a particular element of the matrix | |
virtual void | setVal (unsigned int i, unsigned int j, TYPE val) |
sets a particular element of the matrix | |
virtual void | getRow (unsigned int i, Vector< TYPE > &row) const |
returns a copy of a row of the matrix | |
virtual void | getCol (unsigned int i, Vector< TYPE > &col) const |
returns a copy of a column of the matrix | |
TYPE * | getData () |
returns a pointer to our data array | |
const TYPE * | getData () const |
returns a const pointer to our data array | |
Matrix< TYPE > & | assign (const Matrix< TYPE > &other) |
Copy operator. | |
virtual Matrix< TYPE > & | operator+= (const Matrix< TYPE > &other) |
Matrix addition. | |
virtual Matrix< TYPE > & | operator-= (const Matrix< TYPE > &other) |
Matrix subtraction. | |
virtual Matrix< TYPE > & | operator*= (TYPE scale) |
Multiplication by a scalar. | |
virtual Matrix< TYPE > & | operator/= (TYPE scale) |
division by a scalar | |
virtual Matrix< TYPE > & | transpose (Matrix< TYPE > &transpose) const |
copies the transpose of this Matrix into another, returns the result | |
Additional Inherited Members | |
Public Types inherited from RDNumeric::Matrix< TYPE > | |
typedef boost::shared_array< TYPE > | DATA_SPTR |
Protected Member Functions inherited from RDNumeric::Matrix< TYPE > | |
Matrix () | |
Protected Attributes inherited from RDNumeric::Matrix< TYPE > | |
unsigned int | d_nRows {0} |
unsigned int | d_nCols {0} |
unsigned int | d_dataSize {0} |
DATA_SPTR | d_data |
Definition at line 22 of file Transform3D.h.
|
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 RDGeom::DIM_3D.
void RDGeom::Transform3D::Reflect | ( | ) |
Reflect the rotation.
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().
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
void RDGeom::Transform3D::SetRotation | ( | double | cosT, |
double | sinT, | ||
const Point3D & | axis | ||
) |
void RDGeom::Transform3D::SetRotationFromQuaternion | ( | double | quaternion[4] | ) |
Set the rotation matrix from a quaternion.
void RDGeom::Transform3D::setToIdentity | ( | ) |
void RDGeom::Transform3D::SetTranslation | ( | const Point3D & | move | ) |
Set the translation vector.
void RDGeom::Transform3D::TransformPoint | ( | Point3D & | pt | ) | const |
Referenced by RDGeom::compute14Dist3D().