#include <Transformation.hpp>
Public Member Functions | |
void | translate (float x, float y, float z) override |
void | scale (float m) override |
void | rotate (float x, float y, float z) override |
void | transform (const Transformation &t) override |
Eigen::Matrix3Xf | apply (Eigen::Matrix3Xf m) const |
float | determinant () const |
Private Attributes | |
Eigen::Matrix3f | tMatrix |
The transformation matrix. | |
A compound transformation to apply to a Transformable. Chain multiple transformations in order as a single transformation matrix.
Eigen::Matrix3Xf Geno3D::Transformation::apply | ( | Eigen::Matrix3Xf | m | ) | const |
Apply the transformation to a matrix.
m | the matrix to apply to. |
References tMatrix.
Referenced by Geno3D::SunLight::transform(), Geno3D::Camera::transform(), and Geno3D::Object::transform().
float Geno3D::Transformation::determinant | ( | ) | const |
Get the determinant of the transformation matrix.
References tMatrix.
Referenced by Geno3D::Object::transform().
|
overridevirtual |
Rotate by Euler angles, in radians.
x | the angle to rotate by about the x-axis |
y | the angle to rotate by about the y-axis |
z | the angle to rotate by about the z-axis |
Implements Geno3D::Transformable.
References tMatrix.
|
overridevirtual |
Scale by a factor.
m | the factor to scale by |
Implements Geno3D::Transformable.
References tMatrix.
|
overridevirtual |
Transform by a compound transformation.
t | the transformation to apply |
Implements Geno3D::Transformable.
References tMatrix.
|
overridevirtual |
Translate the transformation by a 3D vector. This will not translate the object, rather the rows of the transformation matrix will be translated.
x | the amount to translate in the x-axis |
y | the amount to translate in the y-axis |
z | the amount to translate in the z-axis |
Implements Geno3D::Transformable.
References tMatrix.