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