#include <Matrix4d.h>
Public Member Functions | |
void | loadIdentity () |
void | translatef (const double &x, const double &y, const double &z) |
void | translatev (const vec3d &v) |
void | rotateX (const double &ang) |
void | rotateY (const double &ang) |
void | rotateZ (const double &ang) |
void | rotate (const double &angle, const vec3d &axis) |
void | rotatealongX (const vec3d &dir1) |
void | zeroTranslations () |
void | affineInverse () |
void | scale (const double &scale) |
void | scalex (const double &scalex) |
void | scaley (const double &scaley) |
void | scalez (const double &scalez) |
void | flipx () |
void | getMat (double *m) const |
void | matMult (const double *m) |
void | postMult (const double *m) |
void | matMult (const Matrix4d &m) |
void | postMult (const Matrix4d &m) |
void | initMat (const double *m) |
void | initMat (const Matrix4d &m) |
void | mult (const double in[4], double out[4]) const |
double * | data () |
void | loadXZRef () |
void | loadXYRef () |
void | loadYZRef () |
vec3d | xform (const vec3d &in) const |
void | xformvec (std::vector< vec3d > &in) const |
void | xformmat (std::vector< std::vector< vec3d > > &in) const |
vec3d | xformnorm (const vec3d &in) const |
void | xformnormvec (std::vector< vec3d > &in) const |
void | xformnormmat (std::vector< std::vector< vec3d > > &in) const |
vec3d | getAngles () const |
vec3d | getTranslation () const |
void | buildXForm (const vec3d &pos, const vec3d &rot, const vec3d ¢_rot) |
void | getBasis (vec3d &xdir, vec3d &ydir, vec3d &zdir) |
void | setBasis (const vec3d &xdir, const vec3d &ydir, const vec3d &zdir) |
void | toQuat (double &qw, double &qx, double &qy, double &qz, double &tx, double &ty, double &tz) const |
Static Public Member Functions | |
static void | setIdentity (double *m) |
Private Attributes | |
double | mat [16] |
Matrix4d is typically used to perform rotations, translations, scaling, projections, and other transformations in 3D space.
Definition at line 19 of file Matrix4d.h.
void Matrix4d::affineInverse | ( | ) |
Perform an affine transform on the Matrix4d
Translate the Matrix4d to a given position and rotate it a about a given center of rotation
[in] | pos | Position to translate to |
[in] | rot | Angle of rotation (degrees) |
[in] | cent_rot | Center of rotation |
|
inline |
Definition at line 284 of file Matrix4d.h.
vec3d Matrix4d::getAngles | ( | ) | const |
void Matrix4d::loadIdentity | ( | ) |
Create a 4x4 identity matrix
void Matrix4d::loadXYRef | ( | ) |
void Matrix4d::loadXZRef | ( | ) |
void Matrix4d::loadYZRef | ( | ) |
void Matrix4d::rotate | ( | const double & | angle, |
const vec3d & | axis ) |
Rotate the Matrix4d about an arbitrary axis
[in] | ang | Angle of rotation (rad) |
[in] | axis | Vector to rotate about |
void Matrix4d::rotateX | ( | const double & | ang | ) |
Rotate the Matrix4d about the X axis
[in] | ang | Angle of rotation (degrees) |
void Matrix4d::rotateY | ( | const double & | ang | ) |
Rotate the Matrix4d about the Y axis
[in] | ang | Angle of rotation (degrees) |
void Matrix4d::rotateZ | ( | const double & | ang | ) |
Rotate the Matrix4d about the Z axis
[in] | ang | Angle of rotation (degrees) |
void Matrix4d::scale | ( | const double & | scale | ) |
Multiply the Matrix4d by a scalar value
[in] | scale | Value to scale by |
void Matrix4d::translatef | ( | const double & | x, |
const double & | y, | ||
const double & | z ) |
Translate the Matrix4d along the given axes values
[in] | x | Translation along the X axis |
[in] | y | Translation along the Y axis |
[in] | z | Translation along the Z axis |
|
private |
Definition at line 456 of file Matrix4d.h.