#include <SIMMTransform.h>
Public Types | |
enum | AxisName { X = 0, Y = 1, Z = 2, W = 3, NoAxis = -1 } |
enum | RotationOrder { XYZ = 0, XZY = 1, YXZ = 2, YZX = 3, ZXY = 4, ZYX = 5 } |
enum | AnglePreference { Radians, Degrees } |
Public Member Functions | |
SIMMTransform () | |
Construct an identity SIMMTransform. | |
SIMMTransform (const SIMMTransform &aTransform) | |
Copy constructor. | |
SIMMTransform (const double aMat44[4][4]) | |
SIMMTransform (const double r, const AnglePreference preference, const SimTK::Vec3 &axis) | |
virtual | ~SIMMTransform () |
Destructor. | |
SIMMTransform * | copy () const |
Copy method to be used by ArrayPtrs if needed. | |
SIMMTransform & | operator= (const SIMMTransform &aTransform) |
void | printMatrix () |
Debugging. | |
void | getPosition (SimTK::Vec3 &pos) const |
Get the position vector. | |
void | getPosition (double pos[3]) const |
void | setPosition (const SimTK::Vec3 &pos) |
Set the position vector. | |
void | getOrientation (double rOrientation[3][3]) const |
Get 3x3 orientation matrix from a 4x4 transform matrix. | |
void | setOrientation (const double aOrientation[3][3]) |
void | setIdentity () |
Set transform matrix to identity. | |
void | rotate (const double r[3], const AnglePreference preference, const RotationOrder order) |
Set transform matrix based on angles, rotation order and preference. | |
void | rotateX (double r, const AnglePreference preference) |
Rotate by r degrees or radians around X axis. | |
void | rotateY (double r, const AnglePreference preference) |
Rotate by r degrees or radians around Y axis. | |
void | rotateZ (double r, const AnglePreference preference) |
Rotate by r degrees or radians around Z axis. | |
void | rotateAxis (double r, const AnglePreference preference, const SimTK::Vec3 &axis) |
Rotate by r degrees or radians around arbitrary axis. | |
void | rotateXBodyFixed (double r, const AnglePreference preference) |
Rotate by r degrees or radians around the local X axis. | |
void | rotateYBodyFixed (double r, const AnglePreference preference) |
Rotate by r degrees or radians around the local Y axis. | |
void | rotateZBodyFixed (double r, const AnglePreference preference) |
Rotate by r degrees or radians around the local Z axis. | |
void | translateX (const double t) |
Translate by double in X direction. | |
void | translateY (const double t) |
Translate by double in Y direction. | |
void | translateZ (const double t) |
Translate by double in Z direction. | |
void | translate (const SimTK::Vec3 &t) |
Translate by vector t. | |
void | transformPoint (double pt[3]) const |
void | transformPoint (SimTK::Vec3 &pt) const |
void | transformVector (double vec[3]) const |
void | transformVector (SimTK::Vec3 &vec) const |
double * | getMatrix () |
void | getMatrix (double aMat[]) const |
void | setRotationSubmatrix (double rDirCos[3][3]) |
const SimTK::Transform * | getSimTKTransform () const |
SIMMTransform::SIMMTransform | ( | const SIMMTransform & | aTransform | ) |
Copy constructor.
void SIMMTransform::getOrientation | ( | double | rOrientation[3][3] | ) | const |
Get 3x3 orientation matrix from a 4x4 transform matrix.
void SIMMTransform::setIdentity | ( | ) |
Set transform matrix to identity.
void SIMMTransform::rotate | ( | const double | r[3], | |
const AnglePreference | preference, | |||
const RotationOrder | order | |||
) |
Set transform matrix based on angles, rotation order and preference.
void SIMMTransform::rotateX | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around X axis.
void SIMMTransform::rotateY | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around Y axis.
void SIMMTransform::rotateZ | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around Z axis.
void SIMMTransform::rotateAxis | ( | double | r, | |
const AnglePreference | preference, | |||
const SimTK::Vec3 & | axis | |||
) |
Rotate by r degrees or radians around arbitrary axis.
The axis must be of unit length.
void SIMMTransform::rotateXBodyFixed | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around the local X axis.
void SIMMTransform::rotateYBodyFixed | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around the local Y axis.
void SIMMTransform::rotateZBodyFixed | ( | double | r, | |
const AnglePreference | preference | |||
) |
Rotate by r degrees or radians around the local Z axis.
void SIMMTransform::translateX | ( | const double | tX | ) |
Translate by double in X direction.
void SIMMTransform::translateY | ( | const double | tY | ) |
Translate by double in Y direction.
void SIMMTransform::translateZ | ( | const double | tZ | ) |
Translate by double in Z direction.
void SIMMTransform::translate | ( | const SimTK::Vec3 & | t | ) |
Translate by vector t.