The Gnome Chemistry Utils
0.14.0
|
Handle 3D transformations, such as space group definitions. More...
#include <gcu/transform3d.h>
Public Member Functions | |
Transform3d () | |
Transform3d (Matrix const &m, Vector const &v) | |
Transform3d (double s) | |
Transform3d (Vector row1, Vector row2, Vector row3, Vector translation) | |
Transform3d (double d[3][3], double t[3]) | |
virtual | ~Transform3d () |
Vector | operator* (Vector const &v) const |
Transform3d | operator* (Transform3d const &t) const |
std::string | DescribeAsString () const |
std::string | DescribeAsValues () const |
void | Normalize () |
Additional Inherited Members | |
Private Member Functions inherited from gcu::Matrix | |
Matrix () | |
Matrix (double d) | |
Matrix (double d[3][3]) | |
Matrix (Matrix const &m) | |
Matrix (Vector const &v1, Vector const &v2, Vector const &v3, bool as_rows=true) | |
virtual | ~Matrix () |
Matrix (double Psi, double Theta, double Phi, MatrixType Type) | |
Matrix (double x11, double x12, double x13, double x21, double x22, double x23, double x31, double x32, double x33) | |
Matrix & | operator* (Matrix const &cMat) const |
Matrix & | operator= (Matrix const &cMat) |
void | Euler (double &Psi, double &Theta, double &Phi) |
void | Transform (double &dx, double &dy, double &dz) const |
Vector | operator* (Vector const &v) const |
Vector | glmult (Vector const &v) const |
double & | operator() (unsigned i, unsigned j) |
double | operator() (unsigned i, unsigned j) const |
Private Member Functions inherited from gcu::Vector | |
Vector () | |
Vector (double x, double y, double z) | |
Vector (double d[3]) | |
Vector (Vector const &v) | |
Vector | operator+ (Vector const &v) const |
Vector | operator- (Vector const &v) const |
Vector | operator* (double m) const |
Vector | operator/ (double d) const |
Vector | operator*= (double m) |
Vector | operator/= (double d) |
double | operator[] (unsigned i) const |
double | GetLength () const |
Vector | CreateOrthogonal () const |
Vector | Cross (Vector const &v) const |
void | SetX (double val) |
double | GetX (void) const |
double & | GetRefX (void) |
void | SetY (double val) |
double | GetY (void) const |
double & | GetRefY (void) |
void | SetZ (double val) |
double | GetZ (void) const |
double & | GetRefZ (void) |
Handle 3D transformations, such as space group definitions.
Describes a spatial trnasformation obtained by the combination of a symmetry operation and a translation.
Definition at line 42 of file transform3d.h.
gcu::Transform3d::Transform3d | ( | ) |
The default constructor. Initializes all coordinates to 0.
m | a symmetry operation matrix. |
v | a translation vector. |
Constructs a new Transform3d from its symmetry operation matrix and its translation vector.
gcu::Transform3d::Transform3d | ( | double | s | ) |
s | a scalar. |
Constructs a new Transform3d from a scalar matrix and a null translation vector.
row1 | first matrix row. |
row2 | second matrix row. |
row3 | third matrix row. |
translation | the translation vector. |
Constructs a new Transform3d from the three rows of its symmetry operation matrix and its translation vector.
gcu::Transform3d::Transform3d | ( | double | d[3][3], |
double | t[3] | ||
) |
d | the coefficients of a symmetry operation matrix. |
t | the coefficients of a translation vector. |
Constructs a new Transform3d from the coefficients of its symmetry operation matrix and its translation vector.
|
virtual |
The destructor.
std::string gcu::Transform3d::DescribeAsString | ( | ) | const |
std::string gcu::Transform3d::DescribeAsValues | ( | ) | const |
void gcu::Transform3d::Normalize | ( | ) |
Ensure that the translation vector coordinates are all in the interval [0,1[.
v | the vector to transform. |
Transforms a vector (multiply by the symmetry matrix and add the translation vector).
Transform3d gcu::Transform3d::operator* | ( | Transform3d const & | t | ) | const |
t | a Transform3d. |
Combines two Transform3d instances a vector.