(new in Rev2.40)
MQMatrix class manages a 4x4 matrix. There are the following member variables.
class MQMatrix { public: union { float t[16]; float d[4][4]; struct { float _11, _12, _13, _14; float _21, _22, _23, _24; float _31, _32, _33, _34; float _41, _42, _43, _44; }; }; };
MQMatrix::MQMatrix();
Variables contained in a matrix are not initialized in the constructor.
void MQMatrix::Identify();
It initializes as an identity matrix.
void MQMatrix::Transpose3(void);
It transposes only upper left 3x3 components in a matrix.
MQPoint MQMatrix::Mult3(const MQPoint& p) const;
It calculate a product of a vector and upper left 3x3 components in a matrix.
MQPoint MQMatrix::GetRow3(int r) const;
(new in Rev3.10)
It extracts a vector from a left 3x1 row component in the matrix.
MQPoint MQMatrix::GetColumn3(int c) const;
(new in Rev3.10)
It extracts a vector from an upper 1x3 column component in the matrix.
MQPoint MQMatrix::SetRow3(int r, const MQPoint& p) const;
(new in Rev3.10)
It sets a left 3x1 row component with a vector.
MQPoint MQMatrix::SetColumn3(int c, const MQPoint& p) const;
(new in Rev3.10)
It sets an upper 1x3 column component with a vector.
MQPoint MQMatrix::GetScaling(void) const;
It extracts a scaling factor from a SRT transformation matrix, and returns each component for X, Y and Z as a MQPoint.
MQAngle MQMatrix::GetRotation(void) const;
It extracts a rotation angle from a SRT transformation matrix, and returns each component of an Euler angle as a MQAngle.
MQPoint MQMatrix::GetTranslation(void) const;
It extracts a translation from a SRT transformation matrix, and returns the translation as a MQPoint.
void MQMatrix::SetTransform(const MQPoint *scaling, const MQAngle *rotation, const MQPoint *trans);
It sets a SRT transformation matrix with a scaling factor, a rotation angle and a translation.
void MQMatrix::SetInverseTransform(const MQPoint *scaling, const MQAngle *rotation, const MQPoint *trans);
It sets an inverse SRT transformation matrix with a scaling factor, a rotation angle and a translation.