|
IMP Reference Guide
develop.169ea894ba,2025/11/01
The Integrative Modeling Platform
|
Simple 3D transformation class. More...
#include <IMP/algebra/Transformation3D.h>
Inheritance diagram for IMP::algebra::Transformation3D:Simple 3D transformation class.
The rotation is applied first, and then the point is translated.
Definition at line 37 of file Transformation3D.h.
Public Member Functions | |
| Transformation3D (const Transformation3D &)=default | |
| Transformation3D () | |
| Default construct (makes an invalid transformation) More... | |
| Transformation3D (const Rotation3D &r, const Vector3D &t=Vector3D(0, 0, 0)) | |
| Basic constructor. More... | |
| Transformation3D (const Vector3D &t) | |
| Construct a transformation with an identity rotation. More... | |
| Transformation3D | get_inverse () const |
| bool | get_is_valid () const |
| const Rotation3D & | get_rotation () const |
| Return the rotation associated with this transformation. More... | |
| Vector3D | get_transformed (const Vector3D &o) const |
| Transform. More... | |
| void | get_transformed_adjoint (const Vector3D &v, const Vector3D &Dw, Vector3D *Dv, Transformation3DAdjoint *DT) const |
Get adjoint of inputs to get_transformed from adjoint of output. More... | |
| TransformedVector3DAdjoint | get_transformed_adjoint (const Vector3D &v, const Vector3D &Dw) const |
Get adjoint of inputs to get_transformed from adjoint of output. More... | |
| const Vector3D & | get_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 Transformation3D & | operator*= (const Transformation3D &o) |
| Transformation3D | operator/ (const Transformation3D &b) const |
| Compute the transformation which, when composed with b, gives *this. More... | |
| const Transformation3D & | operator/= (const Transformation3D &o) |
| Transformation3D & | operator= (const Transformation3D &)=default |
| void | show (std::ostream &out=std::cout) const |
| IMP::algebra::Transformation3D::Transformation3D | ( | ) |
Default construct (makes an invalid transformation)
Definition at line 41 of file Transformation3D.h.
| IMP::algebra::Transformation3D::Transformation3D | ( | const Rotation3D & | r, |
| const Vector3D & | t = Vector3D(0, 0, 0) |
||
| ) |
Basic constructor.
Definition at line 43 of file Transformation3D.h.
| IMP::algebra::Transformation3D::Transformation3D | ( | const Vector3D & | t | ) |
Construct a transformation with an identity rotation.
Definition at line 46 of file Transformation3D.h.
| bool IMP::algebra::Transformation3D::get_is_valid | ( | ) | const |
Definition at line 114 of file Transformation3D.h.
| const Rotation3D& IMP::algebra::Transformation3D::get_rotation | ( | ) | const |
Return the rotation associated with this transformation.
Definition at line 99 of file Transformation3D.h.
Transform.
Definition at line 50 of file Transformation3D.h.
| void IMP::algebra::Transformation3D::get_transformed_adjoint | ( | const Vector3D & | v, |
| const Vector3D & | Dw, | ||
| Vector3D * | Dv, | ||
| Transformation3DAdjoint * | DT | ||
| ) | const |
Get adjoint of inputs to get_transformed from adjoint of output.
Compute the adjoint (reverse-mode sensitivity) of input vector to get_transformed and this transformation from the adjoint of the output vector.
| TransformedVector3DAdjoint IMP::algebra::Transformation3D::get_transformed_adjoint | ( | const Vector3D & | v, |
| const Vector3D & | Dw | ||
| ) | const |
Get adjoint of inputs to get_transformed from adjoint of output.
Compute the adjoint (reverse-mode sensitivity) of input vector to get_transformed and this transformation from the adjoint of the output vector.
| const Vector3D& IMP::algebra::Transformation3D::get_translation | ( | ) | const |
Return the translation vector associated with this transformation.
Definition at line 102 of file Transformation3D.h.
Apply transformation (rotate and then translate)
Definition at line 73 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 76 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 89 of file Transformation3D.h.
Here is the call graph for this function: