IMP logo
IMP Reference Guide  2.18.0
The Integrative Modeling Platform
IMP::algebra::Transformation2D Class Reference

Simple 2D transformation class. More...

#include <IMP/algebra/Transformation2D.h>

+ Inheritance diagram for IMP::algebra::Transformation2D:

Detailed Description

Simple 2D transformation class.

See geometric primitives for more information.

Definition at line 29 of file Transformation2D.h.

Public Member Functions

 Transformation2D ()
 Default constructor. An invalid transformation is built. More...
 
 Transformation2D (const Rotation2D &r, const Vector2D &t=Vector2D(0.0, 0.0))
 Constructor from a Rotation2D and translation vector. More...
 
 Transformation2D (const Vector2D &t)
 Constructor for a transformation with an identity rotation. More...
 
Transformation2D get_inverse () const
 Return the inverse transformation. More...
 
const Rotation2D get_rotation () const
 Return the rotation. More...
 
Vector2D get_transformed (const Vector2D &o) const
 Perform the transformation on a 2D vector. More...
 
const Vector2D get_translation () const
 Return the translation. More...
 
Vector2D operator* (const Vector2D &v) const
 Perform the transformation on a 2D vector. More...
 
Transformation2D operator* (const Transformation2D &tr) const
 Compose two transformations. More...
 
const Transformation2Doperator*= (const Transformation2D &o)
 See help for operator*. More...
 
Transformation2D operator/ (const Transformation2D &b) const
 Compute the transformation d which, when composed with b, gives this one. More...
 
const Transformation2Doperator/= (const Transformation2D &o)
 See help for operator/. More...
 
void set_rotation (double angle)
 
void set_translation (const Vector2D &v)
 Set the translation. More...
 
void show (std::ostream &out=std::cout) const
 

Constructor & Destructor Documentation

IMP::algebra::Transformation2D::Transformation2D ( )

Default constructor. An invalid transformation is built.

Definition at line 34 of file Transformation2D.h.

IMP::algebra::Transformation2D::Transformation2D ( const Rotation2D r,
const Vector2D t = Vector2D(0.0, 0.0) 
)

Constructor from a Rotation2D and translation vector.

Definition at line 37 of file Transformation2D.h.

IMP::algebra::Transformation2D::Transformation2D ( const Vector2D t)

Constructor for a transformation with an identity rotation.

Definition at line 41 of file Transformation2D.h.

Member Function Documentation

Transformation2D IMP::algebra::Transformation2D::get_inverse ( ) const

Return the inverse transformation.

const Rotation2D IMP::algebra::Transformation2D::get_rotation ( ) const

Return the rotation.

Definition at line 93 of file Transformation2D.h.

Vector2D IMP::algebra::Transformation2D::get_transformed ( const Vector2D o) const

Perform the transformation on a 2D vector.

Parameters
[in]ovector where the transformation is applied
Note
: The transformation is done first applying the rotation and then the translation

Definition at line 52 of file Transformation2D.h.

const Vector2D IMP::algebra::Transformation2D::get_translation ( ) const

Return the translation.

Definition at line 98 of file Transformation2D.h.

Vector2D IMP::algebra::Transformation2D::operator* ( const Vector2D v) const

Perform the transformation on a 2D vector.

Note
: The transformation is done first applying the rotation and then the translation

Definition at line 61 of file Transformation2D.h.

Transformation2D IMP::algebra::Transformation2D::operator* ( const Transformation2D tr) const

Compose two transformations.

Note
The transformations are composed such that for any vector v (rt1*rt2)*v = rt1*(rt2*v)

Definition at line 68 of file Transformation2D.h.

+ Here is the call graph for this function:

const Transformation2D& IMP::algebra::Transformation2D::operator*= ( const Transformation2D o)

See help for operator*.

Definition at line 73 of file Transformation2D.h.

+ Here is the call graph for this function:

Transformation2D IMP::algebra::Transformation2D::operator/ ( const Transformation2D b) const

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

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

Definition at line 81 of file Transformation2D.h.

+ Here is the call graph for this function:

const Transformation2D& IMP::algebra::Transformation2D::operator/= ( const Transformation2D o)

See help for operator/.

Definition at line 87 of file Transformation2D.h.

void IMP::algebra::Transformation2D::set_translation ( const Vector2D v)

Set the translation.

Definition at line 101 of file Transformation2D.h.


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