Fovia's C++ Client/Server API
|
Public Member Functions | |
MATRIX44D | add (MATRIX44D B) |
void | assign (double m11, double m21, double m31, double m41, double m12, double m22, double m32, double m42, double m13, double m23, double m33, double m43, double m14, double m24, double m34, double m44) |
void | assignT (double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43, double m44) |
VECTOR3D | getOffsetVector () |
VECTOR3D | getXVector () |
VECTOR3D | getYVector () |
VECTOR3D | getZVector () |
MATRIX44D () | |
MATRIX44D (const MATRIX44D ©) | |
MATRIX44D (const VECTOR3D &vecX, const VECTOR3D &vecY, const VECTOR3D &vecZ, const VECTOR3D &vecLoc) | |
MATRIX44D (double m11, double m21, double m31, double m41, double m12, double m22, double m32, double m42, double m13, double m23, double m33, double m43, double m14, double m24, double m34, double m44) | |
MATRIX44D (double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43, double m44, bool bTransposed) | |
MATRIX44D | mul (MATRIX44D B) |
VECTOR3D | mul (VECTOR3D V) |
bool | operator!= (MATRIX44D mat) |
MATRIX44D & | operator= (const MATRIX44D &r) |
bool | operator== (MATRIX44D mat) |
void | setIdentity () |
void | setOffsetVector (const VECTOR3D &v) |
void | setOffsetVector (double x, double y, double z) |
void | setXVector (const VECTOR3D &v) |
void | setXVector (double x, double y, double z) |
void | setYVector (const VECTOR3D &v) |
void | setYVector (double x, double y, double z) |
void | setZVector (const VECTOR3D &v) |
void | setZVector (double x, double y, double z) |
std::string | toString () |
Static Public Member Functions | |
static MATRIX44D | createRotateMatrix (double amt, double x, double y, double z) |
static MATRIX44D | createRotateXMatrix (double amt) |
static MATRIX44D | createRotateYMatrix (double amt) |
static MATRIX44D | createRotateZMatrix (double amt) |
static MATRIX44D | createScaleMatrix (double sx, double sy, double sz) |
static MATRIX44D | createTranslateMatrix (double tx, double ty, double tz) |
Public Attributes | |
double | m11 |
double | m12 |
double | m13 |
double | m14 |
double | m21 |
double | m22 |
double | m23 |
double | m24 |
double | m31 |
double | m32 |
double | m33 |
double | m34 |
double | m41 |
double | m42 |
double | m43 |
double | m44 |
A double precision 4x4 matrix. See RENDER_PARAMS::Transform for the most common usage of this type.
|
inline |
Constructs a new matrix. The member fields are not initialized.
|
inline |
Constructs a new matrix and copies the member fields from copy into this objects member fields.
copy | The matrix from which to copy the member fields. |
|
inline |
Constructs a new matrix by populating the member fields with the corresponding orientation and offset vectors. See RENDER_PARAMS::Transform for a description of how these vectors are inserted into the matrix.
vecX | The X orientation vector. |
vecY | The Y orientation vector. |
vecZ | The Z orientation vector. |
vecLoc | The offset vector. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Constructs a new matrix by populating the member fields with the corresponding input parameter.
References assign().
|
inline |
This is identical to the other constructor that accepts 16 doubles except that the parameter order is transposed for easy entry of matrices that are entered row-major. The bTransposed parameter is ignored. It is only there to differentiate the overloads.
References assign().
Returns the result of adding this matrix to the matrix contained in B.
B | The right hand side of the matrix addition operation. |
|
inline |
Assigns the values in the parameters to the member fields of this matrix.
Referenced by MATRIX44D(), operator=(), and setIdentity().
|
inline |
Similar to the transposed constructor, this assigns the parameters into the corresponding member fields, but does so with a row-major parameter order.
|
inlinestatic |
Returns a new matrix that represents a rotation along the arbitrary axis specified by the x, y and z parameters. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
x | The x component of the axis of rotation. |
y | The y component of the axis of rotation. |
z | The z component of the axis of rotation. |
amt | The amount to rotate in radians. |
|
inlinestatic |
Returns a new matrix that represents a rotation along the X axis as specified in amt. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
amt | The amount to rotate in radians. |
|
inlinestatic |
Returns a new matrix that represents a rotation along the Y axis as specified in amt. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
amt | The amount to rotate in radians. |
|
inlinestatic |
Returns a new matrix that represents a rotation along the Z axis as specified in amt. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
amt | The amount to rotate in radians. |
|
inlinestatic |
Returns a new matrix that represents a scaling along the X, Y and Z axes as specified in sx, sy and sz respectively. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
sx | The scaling in the X direction. |
sy | The scaling in the Y direction. |
sz | The scaling in the Z direction. |
|
inlinestatic |
Returns a new matrix that represents a translation along the X, Y and Z axes as specified in tx, ty and tz respectively. Multiplying a vector by this homogeneous matrix (see MATRIX44D::mul(VECTOR3D) ) will apply this transformation to the vector. Multiplying this matrix by another matrix (see MATRIX44D::mul(MATRIX44D) ) will concatenate them into a single matrix representing both transformations applied in the order in which they were multiplied. This can be very useful because it can save a large amount of computational time.
tx | The translation in the X direction. |
ty | The translation in the Y direction. |
tz | The translation in the Z direction. |
|
inline |
Returns a VECTOR3D that represents the offset vector from this transform matrix. See RENDER_PARAMS::Transform for details on the vectors contained in a transform matrix.
|
inline |
Returns a VECTOR3D that represents the X orientation vector from this transform matrix. See RENDER_PARAMS::Transform for details on the vectors contained in a transform matrix.
|
inline |
Returns a VECTOR3D that represents the Y orientation vector from this transform matrix. See RENDER_PARAMS::Transform for details on the vectors contained in a transform matrix.
|
inline |
Returns a VECTOR3D that represents the Z orientation vector from this transform matrix. See RENDER_PARAMS::Transform for details on the vectors contained in a transform matrix.
Returns the result of multiplying this matrix by the matrix contained in B. Note that this is an and should be optimized or paralleled if it is intended to be used on a huge number of matrices.
B | The right hand side of the matrix multiply operation. |
Multiplies the vector V by this matrix in the homogeneous vector space. Specifically, V is expanded to (x,y,z,1), multiplied by this matrix, then x,y and z are divided by the 4th member of the intermediate 4D vector. The resulting x,y,z values are returned in a 3D vector.
V | The vector to multiply through this matrix. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Tests for any difference between two matrices. Note that due to the floating point nature of the matrix, the utility of this function is very limited.
mat | The matrix to which this matrix will be compared. |
Assigns the values in the parameters to the member fields of this matrix.
References assign().
|
inline |
Tests for exact equality of two matrices. Note that due to the floating point nature of the matrix, the utility of this function is very limited.
mat | The matrix to which this matrix will be compared. |
|
inline |
Mutable member function that assigns the identity matrix to this object.
References assign().
|
inline |
Sets the members fields corresponding to the offset vector in this matrix to the values contained in v.
v | The new offset vector. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Sets the members fields corresponding to the offset vector in this matrix to the values of this function's parameters.
x | The x value of the new offset vector. |
y | The y value of the new offset vector. |
z | The z value of the new offset vector. |
|
inline |
Sets the members fields corresponding to the X orientation vector in this matrix to the values contained in v.
v | The new X orientation vector. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Sets the members fields corresponding to the X orientation vector in this matrix to the values of this function's parameters.
x | The x value of the new X orientation vector. |
y | The y value of the new X orientation vector. |
z | The z value of the new X orientation vector. |
|
inline |
Sets the members fields corresponding to the Y orientation vector in this matrix to the values contained in v.
v | The new Y orientation vector. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Sets the members fields corresponding to the Y orientation vector in this matrix to the values of this function's parameters.
x | The x value of the new Y orientation vector. |
y | The y value of the new Y orientation vector. |
z | The z value of the new Y orientation vector. |
|
inline |
Sets the members fields corresponding to the Z orientation vector in this matrix to the values contained in v.
v | The new Z orientation vector. |
References VECTOR3D::x, VECTOR3D::y, and VECTOR3D::z.
|
inline |
Sets the members fields corresponding to the Z orientation vector in this matrix to the values of this function's parameters.
x | The x value of the new Z orientation vector. |
y | The y value of the new Z orientation vector. |
z | The z value of the new Z orientation vector. |
|
inline |
Returns a string describing the values contained in this object.