Public Member Functions | |
wMatrix () | |
Construct an unintialized matrix. More... | |
wMatrix (const wVector &X, const wVector &Y, const wVector &Z, const wVector &P) | |
Construct the matrix. More... | |
wMatrix (const wQuaternion &rotation, const wVector &position) | |
Constructor. More... | |
wMatrix (const real *position, const real *rotation) | |
Constructor. More... | |
wMatrix (const wMatrix &other) | |
Copy constructor. More... | |
wVector | getEuleroAngles () const |
return the Eulero angle of rotation More... | |
wMatrix | inverse () const |
calculate the inverse of transformation matrix More... | |
operator QString () const | |
Returns a string representation of the matrix. More... | |
wMatrix | operator* (const wMatrix &B) const |
matrix multiplication More... | |
wMatrix & | operator= (const wMatrix &other) |
Copy operator. More... | |
wVectorT< true > & | operator[] (int i) |
indexing operator More... | |
const wVectorT< true > & | operator[] (int i) const |
indexing operator (const version) More... | |
wMatrix | rotateAround (const wVector &axis, const wVector ¢re, real angle) const |
Rotate this matrix around the axis, and position passed of radians specified. More... | |
wMatrix | rotateMatrix (const wMatrix &tm) const |
rotate the matrix passed by rotation specified by this and return a copy More... | |
wVector | rotateVector (const wVector &v) const |
rotate the vector v, it doesn't apply position transformation More... | |
void | sanitifize () |
change the matrix in order to get a valid one that represent the same rotation/translation More... | |
bool | sanityCheck () |
return true if the transformation matrix is valid More... | |
wVector | transformPlane (const wVector &localPlane) const |
... More... | |
void | transformTriplex (real *dst, int dstStrideInBytes, real *src, int srcStrideInBytes, int count) const |
apply transformation to a chunck of vectors More... | |
wVector | transformVector (const wVector &v) const |
apply both rotation and translation to the vector v More... | |
wMatrix | transpose () const |
transpose the rotation sub-matrix More... | |
wMatrix | transpose4X4 () const |
full transposition of the transformation matrix More... | |
wVector | unrotateVector (const wVector &v) const |
inverte the rotation of this matrix on the vector v More... | |
wVector | untransformPlane (const wVector &globalPlane) const |
... More... | |
wVector | untransformVector (const wVector &v) const |
invert the rotation and translation on the vector v More... | |
Static Public Member Functions | |
static wMatrix | grammSchmidt (const wVector &dir) |
calculate an orthonormal matrix with the Z vector pointing on the dir direction, and the Y and Z are determined by using the Gramm-Schmidth procedure More... | |
static wMatrix | identity () |
create an identity matrix More... | |
static wMatrix | pitch (real ang) |
create a rotation around X axis of ang radians More... | |
static wMatrix | roll (real ang) |
create a rotation around Z axis of ang radians More... | |
static wMatrix | yaw (real ang) |
create a rotation around Y axis of ang radians More... | |
static wMatrix | zero () |
create a zero matrix More... | |
Public Attributes | |
wVectorT< true > | w_pos |
wVectorT< true > | x_ax |
wVectorT< true > | y_ax |
wVectorT< true > | z_ax |
Detailed Description
wMatrix class
\
- Motivation
- 4x4 Matrix of real numbers; useful for transformation matrix
- Description
- Description
- Warnings
Constructor & Destructor Documentation
|
inline |
Construct an unintialized matrix.
Definition at line 159 of file wmatrix.h.
Referenced by wMatrix::grammSchmidt(), wMatrix::identity(), wMatrix::inverse(), wMatrix::operator*(), wMatrix::pitch(), wMatrix::roll(), wMatrix::rotateMatrix(), wMatrix::transpose(), wMatrix::transpose4X4(), wMatrix::yaw(), and wMatrix::zero().
|
inline |
Member Function Documentation
|
inline |
return the Eulero angle of rotation
Definition at line 279 of file wmatrix.h.
References farsa::max(), farsa::min(), wMatrix::pitch(), wMatrix::roll(), and wMatrix::yaw().
calculate an orthonormal matrix with the Z vector pointing on the dir direction, and the Y and Z are determined by using the Gramm-Schmidth procedure
Definition at line 474 of file wmatrix.h.
References wVectorT< Shared >::normalize(), and wMatrix::wMatrix().
Referenced by RenderWObjectContainer::drawArrow(), RenderWorld::drawArrow(), RenderWObjectContainer::drawTorus(), and PhySlider::PhySlider().
|
inlinestatic |
create an identity matrix
Definition at line 460 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by PhySphere::createPrivateObject(), PhyCone::createPrivateObject(), PhyCompoundObject::createPrivateObject(), PhyEllipsoid::createPrivateObject(), PhyBox::createPrivateObject(), PhyCylinder::createPrivateObject(), RenderWObjectContainer::drawSphere(), PhyEpuck::PhyEpuck(), PhyKhepera::PhyKhepera(), PhyMarXbot::PhyMarXbot(), and PhyUniversal::updateJointInfo().
|
inline |
calculate the inverse of transformation matrix
Definition at line 258 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by World::collisionRayCast(), PhyBallAndSocket::PhyBallAndSocket(), PhyFixed::PhyFixed(), PhyHinge::PhyHinge(), PhyKhepera::PhyKhepera(), PhySlider::PhySlider(), PhySuspension::PhySuspension(), and PhyUniversal::PhyUniversal().
|
inline |
|
inline |
|
inline |
create a rotation around X axis of ang radians
Definition at line 494 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyEpuck::PhyEpuck(), and PhyMarXbot::PhyMarXbot().
create a rotation around Z axis of ang radians
Definition at line 512 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyKhepera::PhyKhepera(), PhyMarXbot::PhyMarXbot(), PhyMarXbot::setDrawFrontMarker(), PhyKhepera::setDrawFrontMarker(), and PhyEpuck::setDrawFrontMarker().
Rotate this matrix around the axis, and position passed of radians specified.
- Parameters
-
axis of rotation in world coordinate centre of rotation in world coordinate angle of rotation in radians
Definition at line 301 of file wmatrix.h.
References wVectorT< Shared >::rotateAround().
rotate the matrix passed by rotation specified by this and return a copy
Definition at line 334 of file wmatrix.h.
References wMatrix::wMatrix().
rotate the vector v, it doesn't apply position transformation
Definition at line 354 of file wmatrix.h.
Referenced by wMatrix::transformPlane(), and wMatrix::transformVector().
|
inline |
change the matrix in order to get a valid one that represent the same rotation/translation
Definition at line 450 of file wmatrix.h.
Referenced by PhyBallAndSocket::PhyBallAndSocket(), PhyFixed::PhyFixed(), PhyHinge::PhyHinge(), PhySuspension::PhySuspension(), PhyUniversal::PhyUniversal(), and PhyUniversal::updateJointInfo().
|
inline |
return true if the transformation matrix is valid
Definition at line 431 of file wmatrix.h.
Referenced by PhyBallAndSocket::PhyBallAndSocket(), PhyFixed::PhyFixed(), PhyHinge::PhyHinge(), PhySlider::PhySlider(), PhySuspension::PhySuspension(), PhyUniversal::PhyUniversal(), PhyBallAndSocket::updateJointInfo(), PhyFixed::updateJointInfo(), PhySlider::updateJointInfo(), PhySuspension::updateJointInfo(), PhyUniversal::updateJointInfo(), and PhyHinge::updateJointInfo().
...
doc missing ...
Definition at line 419 of file wmatrix.h.
References wMatrix::rotateVector(), and wMatrix::unrotateVector().
apply both rotation and translation to the vector v
Definition at line 364 of file wmatrix.h.
References wMatrix::rotateVector().
Referenced by World::collisionRayCast(), and SingleIR::update().
|
inline |
transpose the rotation sub-matrix
Definition at line 265 of file wmatrix.h.
References wMatrix::wMatrix().
|
inline |
full transposition of the transformation matrix
Definition at line 272 of file wmatrix.h.
References wMatrix::wMatrix().
inverte the rotation of this matrix on the vector v
Definition at line 360 of file wmatrix.h.
Referenced by wMatrix::transformPlane(), wMatrix::untransformPlane(), and wMatrix::untransformVector().
invert the rotation and translation on the vector v
Definition at line 368 of file wmatrix.h.
References wMatrix::unrotateVector().
Referenced by PhyKhepera::PhyKhepera().
create a rotation around Y axis of ang radians
Definition at line 503 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyEpuck::PhyEpuck(), PhyKhepera::PhyKhepera(), and PhyMarXbot::PhyMarXbot().
|
inlinestatic |
The documentation for this class was generated from the following file:
- worldsim/include/wmatrix.h