#include <Affine3DTransform.hpp>
Inheritance diagram for Affine3DTransform:
Public Member Functions | |
Matrix | GetMatrix () const |
accesors | |
Vect3Df | Translation () const |
double | operator() (int i, int j) const |
double | operator() (int i) const |
void | Set (const Matrix &_matrix, const Vect3Df &_translation) |
Vect3Df | operator() (const Vect3Df &x) const |
aplies transform on vector | |
void | Inverse () |
inverse: X=M'(X'-T)=M'X'-M'T | |
Affine3DTransform (const Vect3Df &_translation) | |
Affine3DTransform (float theta, const Vect3Df &direction, const Vect3Df ¢er=Vect3Df(0, 0, 0)) | |
Affine3DTransform (const string &fname) | |
reads transform from file | |
virtual void | Read (ImLib3DFile *file, xmlpp::Element *parentNode=NULL, xmlpp::Element *node=NULL) |
Read this object, either from a current node, a parent node, or the root node of the file. | |
virtual void | Write (ImLib3DFile *file, xmlpp::Element *parentNode=NULL, xmlpp::Element *node=NULL) const |
Write this object, either to a current node, a parent node, or the root node of the file. | |
void | Show () |
void | Analyse () |
To analyse a Transform a svd decomposition on the rotation matrix is computed. | |
void | Reset () |
Resets transformation: M is set to identity, and T to 0. | |
name Convenience Functions void | SetRotationX (float theta, const Vect3Df ¢er=Vect3Df(0, 0, 0)) |
void | SetRotationY (float theta, const Vect3Df ¢er=Vect3Df(0, 0, 0)) |
void | SetRotationZ (float theta, const Vect3Df ¢er=Vect3Df(0, 0, 0)) |
void | SetRotation (float theta, Vect3Df direction, const Vect3Df ¢er=Vect3Df(0, 0, 0)) |
void | SetTranslation (const Vect3Df &_translation) |
void | SetScale (float sx, float sy, float sz) |
void | SetScale (const Vect3Df &scale) |
Affine3DTransform | operator *= (const Affine3DTransform &other) |
composes transform with other Affine3DTransform | |
Private Attributes | |
Matrix | matrix |
Vect3Df | translation |
Friends | |
void | Affine3DTransform_Test () |
Affine3DTransform | operator * (const Affine3DTransform &a1, const Affine3DTransform &a2) |
Composition of affine trfs. |
An affine transform is composed of a 3x3 matrix M a translation vector T: X'=MX+T
Definition at line 40 of file Affine3DTransform.hpp.
|
Set rotation around line passing through C and parallel to X Axis, The rotation will be set absolutely, to allow more sophisticated rotation use concatenate several Affine3DTransforms using the *= operator as in: Affine3DTransform Ax; Ax.SetRotationX(phiX); Affine3DTransform Ay; Ay.SetRotationX(phiY); Ax*=Ay; Definition at line 124 of file Affine3DTransform.cpp. |