VectorEntity
1.1.0
Medical Data Segmentation Toolkit
|
Class encapsulates basic linear affine transformations in 3D space. More...
#include <mctransformmatrix.h>
Public Types | |
typedef mds::img::CCoordinates3 < mds::img::tCoordinate > | tCoords3 |
Base vector class type. | |
typedef mds::math::CStaticMatrix < mds::img::tCoordinate, 4, 4 > | tMatrix44 |
Base matrix class type. | |
Public Member Functions | |
MCTransformMatrix & | addRotateX (double rotation_angle) |
Add rotation arount X axis to transformation matrix. | |
MCTransformMatrix & | addRotateY (double rotation_angle) |
Add rotation arount Y axis to transformation matrix. | |
MCTransformMatrix & | addRotateZ (double rotation_angle) |
Add rotation arount Z axis to transformation matrix. | |
MCTransformMatrix & | addScale (double sx, double sy, double sz) |
Add a scale to transformation matrix. | |
MCTransformMatrix & | addTranslation (double x, double y, double z) |
Add a translation to transformation matrix. | |
void | makeIdentity () |
Make identity matrix. | |
MCTransformMatrix & | makeRotateX (double rotation_angle) |
Set rotation around X axis to transformation matrix. | |
MCTransformMatrix & | makeRotateY (double rotation_angle) |
Set rotation around Y axis to transformation matrix. | |
MCTransformMatrix & | makeRotateZ (double rotation_angle) |
Set rotation around Z axis to transformation matrix. | |
MCTransformMatrix & | makeScale (double sx, double sy, double sz) |
Set a scale to transformation matrix. | |
MCTransformMatrix & | makeTranslation (double x, double y, double z) |
Set a translation to transformation matrix. | |
MCTransformMatrix () | |
Default constructor. | |
MCTransformMatrix (const tMatrix44 &v) | |
Constructor that initializes matrix values. | |
MCTransformMatrix (tMatrix44 *v) | |
Constructor that initializes matrix values. | |
void | postMult (const MCTransformMatrix &mm) |
Multiplication of the matrix by given matrix (from right side) | |
MCTransformMatrix::tCoords3 | preMult (const tCoords3 &v, mds::img::tCoordinate coord_weight) const |
Multiplication of given vector with the matrix Result vector is returned. | |
void | preMult (const tCoords3 &v, mds::img::tCoordinate coord_weight, tCoords3 &r) const |
Multiplication of given vector with the matrix Result is saved into second given vector. | |
void | preMult2 (tCoords3 &v, mds::img::tCoordinate coord_weight) const |
Multiplication of given vector with the matrix Result is saved into the given vector. | |
~MCTransformMatrix () | |
Destructor. |
Class encapsulates basic linear affine transformations in 3D space.
The transformation is aplied for all clases derived from CCoordinates3, such are MCVector3D and MCpoint3d. Homogenous coordinate weight is set separately.
typedef mds::img::CCoordinates3<mds::img::tCoordinate> vctl::MCTransformMatrix::tCoords3 |
Base vector class type.
typedef mds::math::CStaticMatrix<mds::img::tCoordinate, 4, 4> vctl::MCTransformMatrix::tMatrix44 |
Base matrix class type.
vctl::MCTransformMatrix::MCTransformMatrix | ( | ) | [inline] |
Default constructor.
vctl::MCTransformMatrix::MCTransformMatrix | ( | const tMatrix44 & | v | ) | [inline] |
Constructor that initializes matrix values.
vctl::MCTransformMatrix::MCTransformMatrix | ( | tMatrix44 * | v | ) | [inline] |
Constructor that initializes matrix values.
vctl::MCTransformMatrix::~MCTransformMatrix | ( | ) | [inline] |
Destructor.
MCTransformMatrix & MCTransformMatrix::addRotateX | ( | double | rotation_angle | ) |
Add rotation arount X axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::addRotateY | ( | double | rotation_angle | ) |
Add rotation arount Y axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::addRotateZ | ( | double | rotation_angle | ) |
Add rotation arount Z axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::addScale | ( | double | sx, |
double | sy, | ||
double | sz | ||
) |
Add a scale to transformation matrix.
sx,: | scale factor in X axis |
sy,: | scale factor in Y axis |
sz,: | scale factor in Z axis |
MCTransformMatrix & MCTransformMatrix::addTranslation | ( | double | x, |
double | y, | ||
double | z | ||
) |
Add a translation to transformation matrix.
x,: | shift distance in X axis |
y,: | shift distance in Y axis |
z,: | shift distance in Z axis |
void MCTransformMatrix::makeIdentity | ( | ) |
Make identity matrix.
MCTransformMatrix & MCTransformMatrix::makeRotateX | ( | double | rotation_angle | ) |
Set rotation around X axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::makeRotateY | ( | double | rotation_angle | ) |
Set rotation around Y axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::makeRotateZ | ( | double | rotation_angle | ) |
Set rotation around Z axis to transformation matrix.
rotation_angle,: | radians Angle |
MCTransformMatrix & MCTransformMatrix::makeScale | ( | double | sx, |
double | sy, | ||
double | sz | ||
) |
Set a scale to transformation matrix.
sx,: | scale factor in X axis |
sy,: | scale factor in Y axis |
sz,: | scale factor in Z axis |
MCTransformMatrix & MCTransformMatrix::makeTranslation | ( | double | x, |
double | y, | ||
double | z | ||
) |
Set a translation to transformation matrix.
x,: | shift distance in X axis |
y,: | shift distance in Y axis |
z,: | shift distance in Z axis |
void MCTransformMatrix::postMult | ( | const MCTransformMatrix & | mm | ) |
Multiplication of the matrix by given matrix (from right side)
mm,: | multiplied matrix, from right side |
MCTransformMatrix::tCoords3 MCTransformMatrix::preMult | ( | const tCoords3 & | v, |
mds::img::tCoordinate | coord_weight | ||
) | const |
Multiplication of given vector with the matrix Result vector is returned.
v,: | multiplied vector |
coord_weight,: | homogenout coordinate weight, for point = 1, for vector = 0 |
void MCTransformMatrix::preMult | ( | const tCoords3 & | v, |
mds::img::tCoordinate | coord_weight, | ||
tCoords3 & | r | ||
) | const |
Multiplication of given vector with the matrix Result is saved into second given vector.
v,: | multiplied vector |
coord_weight,: | homogenout coordinate weight, for point = 1, for vector = 0 |
r,: | result vector |
void MCTransformMatrix::preMult2 | ( | tCoords3 & | v, |
mds::img::tCoordinate | coord_weight | ||
) | const |
Multiplication of given vector with the matrix Result is saved into the given vector.
v,: | multiplied and result vector |
coord_weight,: | homogenout coordinate weight, for point = 1, for vector = 0 |