#include <esve/engine/dim3/impl/Transform.hxx>
Inheritance diagram for esve::engine::dim3::impl::Transform:

Public Member Functions | |
| Transform () | |
| Construct the identity. | |
| Transform (const types::quat &rotation, const types::pure &translation=types::pure(), types::real scaling=types::real(1)) | |
| Constructor. See dim3::Transform. | |
| const types::quat & | rotation () const |
| Rotation state. | |
| void | rotation (const types::quat &a) |
| Rotation state. | |
| const types::pure & | translation () const |
| Translation state. | |
| void | translation (const types::pure &a) |
| Translation state. | |
| types::real | scaling () const |
| Scaling state. | |
| void | scaling (types::real a) |
| Scaling state. | |
| void | left_act (const Transform &a) |
| *this := a * (*this) | |
| void | right_act (const Transform &a) |
| *this := (*this) * a | |
| void | act (const Transform &action, const Transform &basis) |
| General differential action. | |
| void | assign (const Transform &a) |
| *this := a | |
| void | identity () |
| *this := 1 | |
| void | invert () |
| *this := (*this)^(-1) | |
| void | normalize () |
| Snap to closest orthogonal transform. The translation component is retained. | |
| bool | operator== (const Transform &a) const |
| Equal by value. | |
| bool | operator!= (const Transform &a) const |
| Unequal by value. | |
Actions | |
The basis argument is similarity-conjugated: *this := basis*action*(basis)^(-1)*(*this)
| |
| virtual void | rotate (types::real angle, const types::pure &axis, const Transform &basis=IDENTITY)=0 |
| Rotate around this axis by this angle (in radians). The axis must have unit length. | |
| virtual void | translate (const types::pure &dt, const Transform &basis=IDENTITY)=0 |
| *this := (*this) + dt | |
| virtual void | scalate (types::real ds, const Transform &basis=IDENTITY)=0 |
| *this := (*this)*ds | |
Static Public Attributes | |
| const Transform & | IDENTITY |
| The group identity element. | |
|
|
Rotation state.
Implements esve::engine::dim3::Transform. |
|
|
Rotation state.
Implements esve::engine::dim3::Transform. |
1.3.4