Home | Hierarchy | Members | Alphabetical | Related Pages |
#include <transformator.h>
Public Member Functions | |
Transformator () | |
void | loadIdentity () |
void | translate (float x, float y, float z) |
void | rotate (float rad, float x, float y, float z) |
void | scale (float x, float y, float z) |
void | scale (float s) |
void | postMultMatrix (const float *m) |
void | preMultMatrix (const float *m) |
void | loadMatrix (const float *m) |
operator const float * () const | |
void | getMatrix (float *m) const |
void | transform (const float *src, float *dst) const |
Transformator | inverseTranspose () const |
float & | element (unsigned short i, unsigned short j) |
float | element (unsigned short i, unsigned short j) const |
Static Public Member Functions | |
static Transformator | translation (float x, float y, float z) |
static Transformator | rotation (float rad, float x, float y, float z) |
static Transformator | scaling (float x, float y, float z) |
static Transformator | scaling (float s) |
Friends | |
std::ostream & | operator<< (std::ostream &s, const wrl::Transformator &t) |
bool | operator== (const Transformator &t0, const Transformator &t1) |
bool | operator!= (const Transformator &t0, const Transformator &t1) |
bool | operator< (const Transformator &t0, const Transformator &t1) |
float M[3] = { 0.5,1.2,0.7 }; float N[3] = { 0.5,1.2,0.7 }; Transformator t0; Transformator t1; t0.rotate(0.3f,1.0f,1.0f,1.0f); t1.scale(2.0f,-1.0f,3.0f); t0.transform(M); t1.transform(M); Transformator t2; t2.scale(2.0f,-1.0f,3.0f); t2.rotate(0.3f,1.0f,1.0f,1.0f); t2.transform(N);
Transformator | ( | ) |
Make an indentity transformator
void loadIdentity | ( | ) |
Reset the matrix to identity transformation.
void translate | ( | float | x, | |
float | y, | |||
float | z | |||
) |
Add a translation of (x
,y
,z
) to the current transformation/
void rotate | ( | float | rad, | |
float | x, | |||
float | y, | |||
float | z | |||
) |
Add a translation around axis (x
,y
,z
) to the current transformation/. Angle angle
is in radians. Axis needs not to be normalized.
void scale | ( | float | x, | |
float | y, | |||
float | z | |||
) |
Add a scaling.
void scale | ( | float | s | ) |
Provided for convenience. Equivalent to scale(s,s,s)
void postMultMatrix | ( | const float * | m | ) |
Post multiply the matrix. So M <- M*m. In other words, when transforming a vertex, m will be performed before the current transformation takes place.
You can use a Transformator as argument (see operator const float*()).
void preMultMatrix | ( | const float * | m | ) |
Pre multiply the matrix. So M <- m*M. In other words, when transforming a vertex, m will be performed after the current transformation takes place.
You can use a Transformator as argument (see operator const float*()).
void loadMatrix | ( | const float * | m | ) |
Loads the m
matrix as transformation. In m, the first brackets indicates the lines, the second one the column of the matrix.
operator const float * | ( | ) | const [inline] |
Returns the internal matrix. Convenient alternative to getMAtrix(), especially to work with postMultMatrix and preMultMatrix~:
Transformator t; .... Transformator t2; ... t2.postMultMatrix(t1); // valid code
void getMatrix | ( | float * | m | ) | const |
Copy to m
matrix the transformation matrix. In m, the first brackets indicates the lines, the second one the column of the matrix.
void transform | ( | const float * | src, | |
float * | dst | |||
) | const |
Apply the transformation to 3 components point src
and put the result to dest
. This two vectors can be the same (temporary values are used).
Transformator inverseTranspose | ( | ) | const |
Returns a Transformator whose matrix is the inverse transpose of this one.
float & element | ( | unsigned short | i, | |
unsigned short | j | |||
) | [inline] |
Return element on line i
and colum j
(numbered from 0 to 3).
float element | ( | unsigned short | i, | |
unsigned short | j | |||
) | const [inline] |
Return element on line i
and colum j
(numbered from 0 to 3).
wrl::Transformator translation | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline, static] |
Returns a transformation object for translation.
wrl::Transformator rotation | ( | float | rad, | |
float | x, | |||
float | y, | |||
float | z | |||
) | [inline, static] |
Returns a transformation object for rotation. Provided for convenience.
wrl::Transformator scaling | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline, static] |
Returns a transformation object for scaling. Provided for convenience.
wrl::Transformator scaling | ( | float | s | ) | [inline, static] |
Returns a transformation object for scaling.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
std::ostream& operator<< | ( | std::ostream & | s, | |
const wrl::Transformator & | t | |||
) | [friend] |
bool operator== | ( | const Transformator & | t0, | |
const Transformator & | t1 | |||
) | [friend] |
Return true iff the 2 transformations are the same.
bool operator!= | ( | const Transformator & | t0, | |
const Transformator & | t1 | |||
) | [friend] |
Return true iff the 2 transformations are different.
bool operator< | ( | const Transformator & | t0, | |
const Transformator & | t1 | |||
) | [friend] |
Provide strict ordering.
Generated on 5 Jan 2007 with
![]() |
|