The Gnome Chemistry Utils  0.14.0
Public Member Functions | List of all members
gcu::Transform3d Class Reference

Handle 3D transformations, such as space group definitions. More...

#include <gcu/transform3d.h>

Inheritance diagram for gcu::Transform3d:
gcu::Matrix gcu::Vector

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)
Matrixoperator* (Matrix const &cMat) const
Matrixoperator= (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)

Detailed Description

Handle 3D transformations, such as space group definitions.

Since
version 0.12
See Also
SpaceGroup

Describes a spatial trnasformation obtained by the combination of a symmetry operation and a translation.

Definition at line 42 of file transform3d.h.

Constructor & Destructor Documentation

gcu::Transform3d::Transform3d ( )

The default constructor. Initializes all coordinates to 0.

gcu::Transform3d::Transform3d ( Matrix const &  m,
Vector const &  v 
)
Parameters
ma symmetry operation matrix.
va translation vector.

Constructs a new Transform3d from its symmetry operation matrix and its translation vector.

gcu::Transform3d::Transform3d ( double  s)
Parameters
sa scalar.

Constructs a new Transform3d from a scalar matrix and a null translation vector.

gcu::Transform3d::Transform3d ( Vector  row1,
Vector  row2,
Vector  row3,
Vector  translation 
)
Parameters
row1first matrix row.
row2second matrix row.
row3third matrix row.
translationthe 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] 
)
Parameters
dthe coefficients of a symmetry operation matrix.
tthe coefficients of a translation vector.

Constructs a new Transform3d from the coefficients of its symmetry operation matrix and its translation vector.

virtual gcu::Transform3d::~Transform3d ( )
virtual

The destructor.

Member Function Documentation

std::string gcu::Transform3d::DescribeAsString ( ) const
Returns
the transform dexcription in CIF convention, such as "x,y,z".
std::string gcu::Transform3d::DescribeAsValues ( ) const
Returns
the transform description in CML convention, limiting to the twelve first values, such as "1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0".
void gcu::Transform3d::Normalize ( )

Ensure that the translation vector coordinates are all in the interval [0,1[.

Vector gcu::Transform3d::operator* ( Vector const &  v) const
Parameters
vthe vector to transform.

Transforms a vector (multiply by the symmetry matrix and add the translation vector).

Returns
the transformed vector.
Transform3d gcu::Transform3d::operator* ( Transform3d const &  t) const
Parameters
ta Transform3d.

Combines two Transform3d instances a vector.

Returns
the combination of the two transforms.

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