 IMP Reference Guide  2.7.0 The Integrative Modeling Platform
IMP::algebra::Transformation3D Class Reference

Simple 3D transformation class. More...

#include <IMP/algebra/Transformation3D.h> Inheritance diagram for IMP::algebra::Transformation3D:

Detailed Description

Simple 3D transformation class.

The rotation is applied first, and then the point is translated.

Definition at line 31 of file Transformation3D.h.

Public Member Functions

Transformation3D ()
Default construct (makes an invalid transformation) More...

Transformation3D (const Rotation3D &r, const Vector3D &t=Vector3D(0, 0, 0))

Transformation3D (const Vector3D &t)

Transformation3D get_inverse () const

bool get_is_valid () const

const Rotation3Dget_rotation () const
Return the rotation associated with this transformation. More...

Vector3D get_transformed (const Vector3D &o) const
Transform. More...

const Vector3Dget_translation () const
Return the translation vector associated with this transformation. More...

Vector3D operator* (const Vector3D &v) const
Apply transformation (rotate and then translate) More...

Transformation3D operator* (const Transformation3D &tr) const

const Transformation3Doperator*= (const Transformation3D &o)

Transformation3D operator/ (const Transformation3D &b) const
Compute the transformation which, when composed with b, gives *this. More...

const Transformation3Doperator/= (const Transformation3D &o)

void show (std::ostream &out=std::cout) const

Constructor & Destructor Documentation

 IMP::algebra::Transformation3D::Transformation3D ( )

Default construct (makes an invalid transformation)

Definition at line 35 of file Transformation3D.h.

 IMP::algebra::Transformation3D::Transformation3D ( const Rotation3D & r, const Vector3D & t = Vector3D(0, 0, 0) )

Basic constructor

Definition at line 37 of file Transformation3D.h.

 IMP::algebra::Transformation3D::Transformation3D ( const Vector3D & t )

Construct a transformation with an identity rotation.

Definition at line 40 of file Transformation3D.h.

Member Function Documentation

 bool IMP::algebra::Transformation3D::get_is_valid ( ) const
Returns
true if the 3D transformation is valid; false if the transformation was initialized only with the empty constructor, or it was initialized with an invalid rotation.

Definition at line 89 of file Transformation3D.h.

 const Rotation3D& IMP::algebra::Transformation3D::get_rotation ( ) const

Return the rotation associated with this transformation.

Definition at line 74 of file Transformation3D.h.

 Vector3D IMP::algebra::Transformation3D::get_transformed ( const Vector3D & o ) const

Transform.

Definition at line 44 of file Transformation3D.h.

 const Vector3D& IMP::algebra::Transformation3D::get_translation ( ) const

Return the translation vector associated with this transformation.

Definition at line 77 of file Transformation3D.h.

 Vector3D IMP::algebra::Transformation3D::operator* ( const Vector3D & v ) const

Apply transformation (rotate and then translate)

Definition at line 48 of file Transformation3D.h.

 Transformation3D IMP::algebra::Transformation3D::operator* ( const Transformation3D & tr ) const

Compose two rigid transformation such that for any vector v (rt1*rt2)*v = rt1*(rt2*v)

Definition at line 51 of file Transformation3D.h. Here is the call graph for this function:

 Transformation3D IMP::algebra::Transformation3D::operator/ ( const Transformation3D & b ) const

Compute the transformation which, when composed with b, gives *this.

That is a(x)== d(b(x)) for all x.

For consistency, this should probably have a nice name, but I don't know what name to give it.

Definition at line 64 of file Transformation3D.h. Here is the call graph for this function:

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