Open Babel: transform3d Class Reference

Public Member Functions | Private Member Functions | Static Private Member Functions | Friends

# transform3d Class Reference

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

`#include <openbabel/math/transform3d.h>`

Inheritance diagram for transform3d:

List of all members.

## Public Member Functions
| transform3d (void)
| transform3d (const matrix3x3 &m, const vector3 &v)
| transform3d (double s)
| transform3d (vector3 row1, vector3 row2, vector3 row3, vector3 translation)
| transform3d (double d[3][3], double t[3])
vector3 | operator* (const vector3 &) const
transform3d | operator* (const transform3d &) const
std::string | DescribeAsString () const
std::string | DescribeAsValues () const
void | Normalize ()
## Private Member Functions
void | GetArray (double *m)
const double & | operator() (int row, int column) const
double & | operator() (int row, int column)
matrix3x3 | inverse (void) const
matrix3x3 | transpose (void) const
void | randomRotation (OBRandom &rnd)
double | determinant () const
bool | isSymmetric (void) const
bool | isOrthogonal (void) const
bool | isDiagonal (void) const
bool | isUnitMatrix (void) const
double | Get (int row, int column) const
void | Set (int row, int column, double v)
void | SetColumn (int column, const vector3 &v)
void | SetRow (int row, const vector3 &v)
vector3 | GetColumn (unsigned int col) const
vector3 | GetRow (unsigned int row) const
matrix3x3 & | operator*= (const double &c)
matrix3x3 & | operator/= (const double &c)
void | SetupRotMat (double x, double y, double z)
void | PlaneReflection (const vector3 &norm)
void | RotAboutAxisByAngle (const vector3 &axis, const double angle)
void | FillOrth (double alpha, double beta, double gamma, double a, double b, double c)
matrix3x3 | findEigenvectorsIfSymmetric (vector3 &eigenvals) const
void | Set (const double inX, const double inY, const double inZ)
void | Set (const double *c)
void | SetX (const double inX)
void | SetY (const double inY)
void | SetZ (const double inZ)
double | GetX () const
double | GetY () const
double | GetZ () const
void | Get (double *c)
double | operator[] (unsigned int i) const
const double * | AsArray () const
vector3 & | operator+= (const vector3 &v)
vector3 & | operator+= (const double *f)
vector3 & | operator-= (const vector3 &v)
vector3 & | operator-= (const double *f)
vector3 & | operator*= (const double &c)
vector3 & | operator*= (const matrix3x3 &)
vector3 & | operator/= (const double &c)
void | randomUnitVector (OBRandom *oeRand=NULL)
vector3 & | normalize ()
bool | CanBeNormalized () const
double | length_2 () const
double | length () const
const double & | x () const
double & | x ()
const double & | y () const
double & | y ()
const double & | z () const
double & | z ()
int | operator== (const vector3 &) const
int | operator!= (const vector3 &other) const
bool | IsApprox (const vector3 &other, const double &precision) const
double | distSq (const vector3 &vv) const
bool | createOrthoVector (vector3 &v) const
## Static Private Member Functions
static void | jacobi (unsigned int n, double *a, double *d, double *v)
## Friends
vector3 | operator* (const matrix3x3 &, const vector3 &)
matrix3x3 | operator* (const matrix3x3 &, const matrix3x3 &)
std::ostream & | operator<< (std::ostream &, const matrix3x3 &)

## Detailed Description

Handle 3D transformations, such as space group definitions.

Since:
  version 2.2

See also:
  SpaceGroup

## Constructor & Destructor Documentation

transform3d | ( | void | ) | `[inline]`

transform3d | ( | const matrix3x3 & | m,
|  | const vector3 & | v
| ) |  | `[inline]`

transform3d | ( | double | s ) | `[inline]`

transform3d | ( | vector3 | row1,
|  | vector3 | row2,
|  | vector3 | row3,
|  | vector3 | translation
| ) |  | `[inline]`

Constructs a matrix from row vectors.

transform3d | ( | double | d[3][3],
|  | double | t[3]
| ) |  | `[inline]`

Constructs a matrix from a 3x3-array of doubles.

The first index represents the row, the second index the column

## Member Function Documentation

vector3 operator* | ( | const vector3 & | v ) | const

transform3d operator* | ( | const transform3d & | t ) | const

string DescribeAsString | ( | ) | const

string DescribeAsValues | ( | ) | const

void Normalize | ( | ) |

## Friends And Related Function Documentation

vector3 operator* | ( | const matrix3x3 & | m,
|  | const vector3 & | v
| ) |  | `[friend, inherited]`

Matrix-vector multiplication.

Calculates the product m*v of the matrix m and the column vector represented by v

matrix3x3 operator* | ( | const matrix3x3 & | A,
|  | const matrix3x3 & | B
| ) |  | `[friend, inherited]`

Matrix-matrix multiplication.

std::ostream& operator<< | ( | std::ostream & | co,
|  | const matrix3x3 & | m
| ) |  | `[friend, inherited]`

Output a text representation of a matrix.

Print a text representation of the matrix in the standardized form: [ a, b, c ]
[ d, e, f ]
[ g, h, i ]
where the letters represent the appropriate entries in the matrix. Uses the standard output format for the individual entries, separated by ", " for each column, and [ ] indicating each row.

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

- transform3d.h
- transform3d.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines