Public Member Functions | |
wMatrix () | |
Construct an unintialized matrix. | |
wMatrix (const wVector &X, const wVector &Y, const wVector &Z, const wVector &P) | |
Construct the matrix. | |
wMatrix (const wQuaternion &rotation, const wVector &position) | |
Constructor. | |
wMatrix (const real *position, const real *rotation) | |
Constructor. | |
wMatrix (const wMatrix &other) | |
Copy constructor. | |
wVector | getEuleroAngles () const |
return the Eulero angle of rotation | |
wMatrix | inverse () const |
calculate the inverse of transformation matrix | |
wMatrix | operator* (const wMatrix &B) const |
matrix multiplication | |
wMatrix & | operator= (const wMatrix &other) |
Copy operator. | |
wVectorT< true > & | operator[] (int i) |
indexing operator | |
const wVectorT< true > & | operator[] (int i) const |
indexing operator (const version) | |
wMatrix | rotateAround (const wVector &axis, const wVector ¢re, real angle) const |
Rotate this matrix around the axis, and position passed of radians specified. | |
wMatrix | rotateMatrix (const wMatrix &tm) const |
rotate the matrix passed by rotation specified by this and return a copy | |
wVector | rotateVector (const wVector &v) const |
rotate the vector v, it doesn't apply position transformation | |
void | sanitifize () |
change the matrix in order to get a valid one that represent the same rotation/translation | |
bool | sanityCheck () |
return true if the transformation matrix is valid | |
wVector | transformPlane (const wVector &localPlane) const |
... | |
void | transformTriplex (real *dst, int dstStrideInBytes, real *src, int srcStrideInBytes, int count) const |
apply transformation to a chunck of vectors | |
wVector | transformVector (const wVector &v) const |
apply both rotation and translation to the vector v | |
wMatrix | transpose () const |
transpose the rotation sub-matrix | |
wMatrix | transpose4X4 () const |
full transposition of the transformation matrix | |
wVector | unrotateVector (const wVector &v) const |
inverte the rotation of this matrix on the vector v | |
wVector | untransformPlane (const wVector &globalPlane) const |
... | |
wVector | untransformVector (const wVector &v) const |
invert the rotation and translation on the vector v | |
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 | |
static wMatrix | identity () |
create an identity matrix | |
static wMatrix | pitch (real ang) |
create a rotation around X axis of ang radians | |
static wMatrix | roll (real ang) |
create a rotation around Z axis of ang radians | |
static wMatrix | yaw (real ang) |
create a rotation around Y axis of ang radians | |
static wMatrix | zero () |
create a zero matrix | |
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 154 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 |
|
inline |
Member Function Documentation
|
inline |
return the Eulero angle of rotation
Definition at line 270 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 465 of file wmatrix.h.
References wVectorT< Shared >::normalize(), and wMatrix::wMatrix().
Referenced by RenderWorld::drawArrow(), RenderWObjectContainer::drawCylinder(), and RenderWObjectContainer::drawTorus().
|
inlinestatic |
create an identity matrix
Definition at line 451 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by PhySphere::createPrivateObject(), PhyCone::createPrivateObject(), PhyCompoundObject::createPrivateObject(), PhyBox::createPrivateObject(), PhyCylinder::createPrivateObject(), RenderWObjectContainer::drawSphere(), PhyEpuck::PhyEpuck(), PhyiCub::PhyiCub(), PhyKhepera::PhyKhepera(), PhyMarXbot::PhyMarXbot(), and PhyUniversal::updateJointInfo().
|
inline |
calculate the inverse of transformation matrix
Definition at line 249 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by PhyObjectsGroup::addObject(), World::collisionRayCast(), PhyBallAndSocket::PhyBallAndSocket(), PhyFixed::PhyFixed(), PhyHinge::PhyHinge(), PhyKhepera::PhyKhepera(), PhySuspension::PhySuspension(), PhyUniversal::PhyUniversal(), PhyObjectsGroup::setDOFPosition(), and PhyObjectsGroup::updateRelativePositions().
|
inline |
|
inline |
|
inlinestatic |
create a rotation around X axis of ang radians
Definition at line 485 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyEpuck::PhyEpuck(), PhyiCub::PhyiCub(), and PhyMarXbot::PhyMarXbot().
|
inlinestatic |
create a rotation around Z axis of ang radians
Definition at line 503 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyiCub::PhyiCub(), 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 292 of file wmatrix.h.
References wVectorT< Shared >::rotateAround().
Referenced by PhyiCub::PhyiCub(), and PhyObjectsGroup::setDOFPosition().
rotate the matrix passed by rotation specified by this and return a copy
Definition at line 325 of file wmatrix.h.
References wMatrix::wMatrix().
rotate the vector v, it doesn't apply position transformation
Definition at line 345 of file wmatrix.h.
Referenced by PhyiCub::PhyiCub(), 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 441 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 422 of file wmatrix.h.
Referenced by PhyBallAndSocket::PhyBallAndSocket(), PhyFixed::PhyFixed(), PhyHinge::PhyHinge(), PhySuspension::PhySuspension(), PhyUniversal::PhyUniversal(), PhyBallAndSocket::updateJointInfo(), PhyFixed::updateJointInfo(), PhySuspension::updateJointInfo(), PhyUniversal::updateJointInfo(), and PhyHinge::updateJointInfo().
...
doc missing ...
Definition at line 410 of file wmatrix.h.
References wMatrix::rotateVector(), and wMatrix::unrotateVector().
|
inline |
apply both rotation and translation to the vector v
Definition at line 355 of file wmatrix.h.
References wMatrix::rotateVector().
Referenced by World::collisionRayCast(), and SingleIR::update().
|
inline |
transpose the rotation sub-matrix
Definition at line 256 of file wmatrix.h.
References wMatrix::wMatrix().
|
inline |
full transposition of the transformation matrix
Definition at line 263 of file wmatrix.h.
References wMatrix::wMatrix().
inverte the rotation of this matrix on the vector v
Definition at line 351 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 359 of file wmatrix.h.
References wMatrix::unrotateVector().
Referenced by PhyKhepera::PhyKhepera().
|
inlinestatic |
create a rotation around Y axis of ang radians
Definition at line 494 of file wmatrix.h.
References wMatrix::wMatrix().
Referenced by wMatrix::getEuleroAngles(), PhyEpuck::PhyEpuck(), PhyiCub::PhyiCub(), PhyKhepera::PhyKhepera(), and PhyMarXbot::PhyMarXbot().
|
inlinestatic |
The documentation for this class was generated from the following file:
- worldsim/include/wmatrix.h