Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
4x4 matrix. Mostly used as transformation matrix for 3d calculations. More...
#include <matrix4.h>
Public Types | |
enum | eConstructor { EM4CONST_NOTHING = 0, EM4CONST_COPY, EM4CONST_IDENTITY, EM4CONST_TRANSPOSED, EM4CONST_INVERSE, EM4CONST_INVERSE_TRANSPOSED } |
Constructor Flags. More... | |
Public Member Functions | |
void | buildAxisAlignedBillboard (const core::vector3df &camPos, const core::vector3df ¢er, const core::vector3df &translation, const core::vector3df &axis, const core::vector3df &from) |
Builds a matrix which rotates a source vector to a look vector over an arbitrary axis. More... | |
CMatrix4< T > & | buildCameraLookAtMatrixLH (const vector3df &position, const vector3df &target, const vector3df &upVector) |
Builds a left-handed look-at matrix. More... | |
CMatrix4< T > & | buildCameraLookAtMatrixRH (const vector3df &position, const vector3df &target, const vector3df &upVector) |
Builds a right-handed look-at matrix. More... | |
CMatrix4< T > & | buildNDCToDCMatrix (const core::rect< s32 > &area, f32 zScale) |
Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates. More... | |
CMatrix4< T > & | buildProjectionMatrixOrthoLH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar) |
Builds a left-handed orthogonal projection matrix. More... | |
CMatrix4< T > & | buildProjectionMatrixOrthoRH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar) |
Builds a right-handed orthogonal projection matrix. More... | |
CMatrix4< T > & | buildProjectionMatrixPerspectiveFovInfinityLH (f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 epsilon=0) |
Builds a left-handed perspective projection matrix based on a field of view, with far plane at infinity. More... | |
CMatrix4< T > & | buildProjectionMatrixPerspectiveFovLH (f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar) |
Builds a left-handed perspective projection matrix based on a field of view. More... | |
CMatrix4< T > & | buildProjectionMatrixPerspectiveFovRH (f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar) |
Builds a right-handed perspective projection matrix based on a field of view. More... | |
CMatrix4< T > & | buildProjectionMatrixPerspectiveLH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar) |
Builds a left-handed perspective projection matrix. More... | |
CMatrix4< T > & | buildProjectionMatrixPerspectiveRH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar) |
Builds a right-handed perspective projection matrix. More... | |
CMatrix4< T > & | buildRotateFromTo (const core::vector3df &from, const core::vector3df &to) |
Builds a matrix that rotates from one vector to another. More... | |
CMatrix4< T > & | buildShadowMatrix (const core::vector3df &light, core::plane3df plane, f32 point=1.0f) |
Builds a matrix that flattens geometry into a plane. More... | |
CMatrix4< T > & | buildTextureTransform (f32 rotateRad, const core::vector2df &rotatecenter, const core::vector2df &translate, const core::vector2df &scale) |
Set to a texture transformation matrix with the given parameters. More... | |
CMatrix4 (eConstructor constructor=EM4CONST_IDENTITY) | |
Default constructor. More... | |
CMatrix4 (const CMatrix4< T > &other, eConstructor constructor=EM4CONST_COPY) | |
Copy constructor. More... | |
bool | equals (const core::CMatrix4< T > &other, const T tolerance=(T) ROUNDING_ERROR_f64) const |
Compare two matrices using the equal method. More... | |
bool | getDefinitelyIdentityMatrix () const |
Gets if the matrix is definitely identity matrix. More... | |
bool | getInverse (CMatrix4< T > &out) const |
Gets the inversed matrix of this one. More... | |
bool | getInversePrimitive (CMatrix4< T > &out) const |
Inverts a primitive matrix which only contains a translation and a rotation. More... | |
core::vector3d< T > | getRotationDegrees () const |
Returns the rotation, as set by setRotation(). More... | |
core::vector3d< T > | getScale () const |
Get Scale. More... | |
vector3d< T > | getTranslation () const |
Gets the current translation. More... | |
CMatrix4< T > | getTransposed () const |
Gets transposed matrix. More... | |
void | getTransposed (CMatrix4< T > &dest) const |
Gets transposed matrix. More... | |
CMatrix4< T > | interpolate (const core::CMatrix4< T > &b, f32 time) const |
Creates a new matrix as interpolated matrix from two other ones. More... | |
void | inverseRotateVect (vector3df &vect) const |
Rotate a vector by the inverse of the rotation part of this matrix. More... | |
void | inverseTranslateVect (vector3df &vect) const |
Translate a vector by the inverse of the translation part of this matrix. More... | |
bool | isIdentity () const |
Returns true if the matrix is the identity matrix. More... | |
bool | isIdentity_integer_base () const |
Returns true if the matrix is the identity matrix. More... | |
bool | isOrthogonal () const |
Returns true if the matrix is orthogonal. More... | |
CMatrix4< T > & | makeIdentity () |
Set matrix to identity. More... | |
bool | makeInverse () |
Calculates inverse of matrix. Slow. More... | |
void | multiplyWith1x4Matrix (T *matrix) const |
Multiplies this matrix by a 1x4 matrix. More... | |
bool | operator!= (const CMatrix4< T > &other) const |
Returns true if other matrix is not equal to this matrix. More... | |
T & | operator() (const s32 row, const s32 col) |
Simple operator for directly accessing every element of the matrix. More... | |
const T & | operator() (const s32 row, const s32 col) const |
Simple operator for directly accessing every element of the matrix. More... | |
CMatrix4< T > | operator* (const CMatrix4< T > &other) const |
Multiply by another matrix. More... | |
CMatrix4< T > | operator* (const T &scalar) const |
Multiply by scalar. More... | |
CMatrix4< T > & | operator*= (const CMatrix4< T > &other) |
Multiply by another matrix. More... | |
CMatrix4< T > & | operator*= (const T &scalar) |
Multiply by scalar. More... | |
CMatrix4< T > | operator+ (const CMatrix4< T > &other) const |
Add another matrix. More... | |
CMatrix4< T > & | operator+= (const CMatrix4< T > &other) |
Add another matrix. More... | |
CMatrix4< T > | operator- (const CMatrix4< T > &other) const |
Subtract another matrix. More... | |
CMatrix4< T > & | operator-= (const CMatrix4< T > &other) |
Subtract another matrix. More... | |
CMatrix4< T > & | operator= (const CMatrix4< T > &other) |
Sets this matrix equal to the other matrix. More... | |
CMatrix4< T > & | operator= (const T &scalar) |
Sets all elements of this matrix to the value. More... | |
bool | operator== (const CMatrix4< T > &other) const |
Returns true if other matrix is equal to this matrix. More... | |
T & | operator[] (u32 index) |
Simple operator for linearly accessing every element of the matrix. More... | |
const T & | operator[] (u32 index) const |
Simple operator for linearly accessing every element of the matrix. More... | |
const T * | pointer () const |
Returns pointer to internal array. More... | |
T * | pointer () |
void | rotateVect (vector3df &vect) const |
Rotate a vector by the rotation part of this matrix. More... | |
void | rotateVect (core::vector3df &out, const core::vector3df &in) const |
An alternate transform vector method, writing into a second vector. More... | |
void | rotateVect (T *out, const core::vector3df &in) const |
An alternate transform vector method, writing into an array of 3 floats. More... | |
CMatrix4< T > & | setbyproduct (const CMatrix4< T > &other_a, const CMatrix4< T > &other_b) |
set this matrix to the product of two matrices More... | |
CMatrix4< T > & | setbyproduct_nocheck (const CMatrix4< T > &other_a, const CMatrix4< T > &other_b) |
Set this matrix to the product of two matrices. More... | |
void | setDefinitelyIdentityMatrix (bool isDefinitelyIdentityMatrix) |
Sets if the matrix is definitely identity matrix. More... | |
CMatrix4< T > & | setInverseRotationDegrees (const vector3d< T > &rotation) |
Make an inverted rotation matrix from Euler angles. More... | |
CMatrix4< T > & | setInverseRotationRadians (const vector3d< T > &rotation) |
Make an inverted rotation matrix from Euler angles. More... | |
CMatrix4< T > & | setInverseTranslation (const vector3d< T > &translation) |
Set the inverse translation of the current matrix. Will erase any previous values. More... | |
CMatrix4< T > & | setM (const T *data) |
Sets all matrix data members at once. More... | |
CMatrix4< T > & | setRotationAxisRadians (const T &angle, const vector3d< T > &axis) |
Make a rotation matrix from angle and axis, assuming left handed rotation. More... | |
void | setRotationCenter (const core::vector3df ¢er, const core::vector3df &translate) |
Builds a combined matrix which translates to a center before rotation and translates from origin afterwards. More... | |
CMatrix4< T > & | setRotationDegrees (const vector3d< T > &rotation) |
Make a rotation matrix from Euler angles. The 4th row and column are unmodified. More... | |
CMatrix4< T > & | setRotationRadians (const vector3d< T > &rotation) |
Make a rotation matrix from Euler angles. The 4th row and column are unmodified. More... | |
CMatrix4< T > & | setScale (const vector3d< T > &scale) |
Set Scale. More... | |
CMatrix4< T > & | setScale (const T scale) |
Set Scale. More... | |
CMatrix4< T > & | setTextureRotationCenter (f32 radAngle) |
Set texture transformation rotation. More... | |
CMatrix4< T > & | setTextureScale (f32 sx, f32 sy) |
Set texture transformation scale. More... | |
CMatrix4< T > & | setTextureScaleCenter (f32 sx, f32 sy) |
Set texture transformation scale, and recenter at (0.5,0.5) More... | |
CMatrix4< T > & | setTextureTranslate (f32 x, f32 y) |
Set texture transformation translation. More... | |
CMatrix4< T > & | setTextureTranslateTransposed (f32 x, f32 y) |
Set texture transformation translation, using a transposed representation. More... | |
CMatrix4< T > & | setTranslation (const vector3d< T > &translation) |
Set the translation of the current matrix. Will erase any previous values. More... | |
void | transformBox (core::aabbox3d< f32 > &box) const |
Transforms a axis aligned bounding box. More... | |
void | transformBoxEx (core::aabbox3d< f32 > &box) const |
Transforms a axis aligned bounding box. More... | |
void | transformPlane (core::plane3d< f32 > &plane) const |
Transforms a plane by this matrix. More... | |
void | transformPlane (const core::plane3d< f32 > &in, core::plane3d< f32 > &out) const |
Transforms a plane by this matrix. More... | |
void | transformVec3 (T *out, const T *in) const |
An alternate transform vector method, reading from and writing to an array of 3 floats. More... | |
void | transformVect (vector3df &vect) const |
Transforms the vector by this matrix. More... | |
void | transformVect (vector3df &out, const vector3df &in) const |
Transforms input vector by this matrix and stores result in output vector. More... | |
void | transformVect (T *out, const core::vector3df &in) const |
An alternate transform vector method, writing into an array of 4 floats. More... | |
void | translateVect (vector3df &vect) const |
Translate a vector by the translation part of this matrix. More... | |
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
The matrix is a D3D style matrix, row major with translations in the 4th row.
enum irr::core::CMatrix4::eConstructor |
|
inline |
|
inline |
Copy constructor.
\param other Other matrix to copy from
constructor | Choose the initialization style |
Definition at line 440 of file matrix4.h.
References irr::core::CMatrix4< T >::getInverse(), and irr::core::CMatrix4< T >::getTransposed().
|
inline |
Builds a matrix which rotates a source vector to a look vector over an arbitrary axis.
\param camPos: viewer position in world coo
center,: | object position in world-coo and rotation pivot |
translation,: | object final translation from center |
axis,: | axis to rotate about |
from,: | source vector to rotate from |
\param camPos: viewer position in world coord
center,: | object position in world-coord, rotation pivot |
translation,: | object final translation from center |
axis,: | axis to rotate about |
from,: | source vector to rotate from |
Definition at line 1990 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Builds a left-handed look-at matrix.
Definition at line 1775 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Builds a right-handed look-at matrix.
Definition at line 1816 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates.
Used to scale <-1,-1><1,1> to viewport, for example from <-1,-1> <1,1> to the viewport <0,0><0,640>
Definition at line 1913 of file matrix4.h.
References irr::core::rect< T >::getHeight(), irr::core::rect< T >::getWidth(), irr::core::rect< T >::LowerRightCorner, and irr::core::rect< T >::UpperLeftCorner.
|
inline |
Builds a left-handed orthogonal projection matrix.
Definition at line 1604 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF.
|
inline |
Builds a right-handed orthogonal projection matrix.
Definition at line 1639 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF.
|
inline |
Builds a left-handed perspective projection matrix based on a field of view, with far plane at infinity.
Definition at line 1568 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF, and irr::core::reciprocal().
|
inline |
Builds a left-handed perspective projection matrix based on a field of view.
Definition at line 1531 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF, and irr::core::reciprocal().
|
inline |
Builds a right-handed perspective projection matrix based on a field of view.
Definition at line 1492 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF, and irr::core::reciprocal().
|
inline |
Builds a left-handed perspective projection matrix.
Definition at line 1709 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF.
|
inline |
Builds a right-handed perspective projection matrix.
Definition at line 1674 of file matrix4.h.
References _IRR_DEBUG_BREAK_IF.
|
inline |
Builds a matrix that rotates from one vector to another.
\param from: vector to rotate from
to,: | vector to rotate to |
\param from: vector to rotate from
to,: | vector to rotate to http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/index.htm |
Definition at line 1934 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Builds a matrix that flattens geometry into a plane.
\param light: light source
plane,: | plane into which the geometry if flattened into |
point,: | value between 0 and 1, describing the light source. If this is 1, it is a point light, if it is 0, it is a directional light. |
Definition at line 1743 of file matrix4.h.
References irr::core::plane3d< T >::D, irr::core::vector3d< T >::dotProduct(), irr::core::plane3d< T >::Normal, irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Set to a texture transformation matrix with the given parameters.
Generate texture coordinates as linear functions so that: u = Ux*x + Uy*y + Uz*z + Uw v = Vx*x + Vy*y + Vz*z + Vw The matrix M for this case is: Ux Vx 0 0 Uy Vy 0 0 Uz Vz 0 0 Uw Vw 0 0
Definition at line 2065 of file matrix4.h.
References irr::core::vector2d< T >::X, and irr::core::vector2d< T >::Y.
|
inline |
Compare two matrices using the equal method.
Definition at line 2210 of file matrix4.h.
References irr::core::equals().
|
inline |
|
inline |
Gets the inversed matrix of this one.
\param out: where result matrix is written to.
Calculates the inverse of this Matrix The inverse is calculated using Cramers rule. If no inverse exists then 'false' is returned.
Definition at line 1307 of file matrix4.h.
References FLT_MIN, irr::core::iszero(), and irr::core::reciprocal().
Referenced by irr::core::CMatrix4< T >::CMatrix4().
|
inline |
|
inline |
Returns the rotation, as set by setRotation().
Returns a rotation that is equivalent to that set by setRotationDegrees().
This code was orginally written by by Chev.
This code was sent in by Chev. Note that it does not necessarily return
the same Euler angles as those set by setRotationDegrees(), but the rotation will be equivalent, i.e. will have the same result when used to rotate a vector or node.
Definition at line 860 of file matrix4.h.
References irr::core::clamp(), irr::core::iszero(), irr::core::RADTODEG64, irr::core::reciprocal(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Get Scale.
Returns the absolute values of the scales of the matrix.
Note that this returns the absolute (positive) values unless only scale is set. Unfortunately it does not appear to be possible to extract any original negative values. The best that we could do would be to arbitrarily make one scale negative if one or three of them were negative. FIXME - return the original values.
Definition at line 795 of file matrix4.h.
References irr::core::iszero().
|
inline |
Gets the current translation.
Definition at line 744 of file matrix4.h.
Referenced by irr::scene::ISceneNode::getAbsolutePosition().
|
inline |
Gets transposed matrix.
Definition at line 1874 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::CMatrix4().
|
inline |
|
inline |
|
inline |
Rotate a vector by the inverse of the rotation part of this matrix.
Definition at line 1128 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Translate a vector by the inverse of the translation part of this matrix.
Definition at line 1290 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Returns true if the matrix is the identity matrix.
Definition at line 1000 of file matrix4.h.
References irr::core::equals().
Referenced by irr::core::CMatrix4< T >::operator*(), irr::core::CMatrix4< T >::operator*=(), and irr::core::CMatrix4< T >::setbyproduct().
|
inline |
Returns true if the matrix is the identity matrix.
Definition at line 1067 of file matrix4.h.
References F32_VALUE_1, and irr::core::IR().
|
inline |
Returns true if the matrix is orthogonal.
Definition at line 1038 of file matrix4.h.
References irr::core::iszero().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Multiply by another matrix.
multiply by another matrix
Calculate other*this
Definition at line 705 of file matrix4.h.
References irr::core::CMatrix4< T >::isIdentity().
|
inline |
|
inline |
Multiply by another matrix.
Calculate and return other*this
Definition at line 626 of file matrix4.h.
References irr::core::CMatrix4< T >::isIdentity().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Rotate a vector by the rotation part of this matrix.
Definition at line 1101 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
An alternate transform vector method, writing into a second vector.
Definition at line 1111 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
An alternate transform vector method, writing into an array of 3 floats.
Definition at line 1120 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
set this matrix to the product of two matrices
multiply by another matrix
Calculate b*a
Definition at line 688 of file matrix4.h.
References irr::core::CMatrix4< T >::isIdentity().
|
inline |
|
inline |
Sets if the matrix is definitely identity matrix.
Definition at line 2188 of file matrix4.h.
Referenced by irr::core::quaternion::getMatrix(), and irr::core::quaternion::getMatrix_transposed().
|
inline |
Make an inverted rotation matrix from Euler angles.
The 4th row and column are unmodified.
Definition at line 819 of file matrix4.h.
References irr::core::DEGTORAD.
|
inline |
Make an inverted rotation matrix from Euler angles.
Sets matrix to rotation matrix of inverse angles given as parameters.
The 4th row and column are unmodified.
Definition at line 917 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Set the inverse translation of the current matrix. Will erase any previous values.
Definition at line 763 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
|
inline |
Make a rotation matrix from angle and axis, assuming left handed rotation.
Sets matrix to rotation matrix defined by axis and angle, assuming LH rotation.
The 4th row and column are unmodified.
Definition at line 948 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Builds a combined matrix which translates to a center before rotation and translates from origin afterwards.
Builds a combined matrix which translate to a center before rotation and translate afterwards.
\param center Position to rotate around
translate | Translation applied after the rotation |
Definition at line 2041 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::core::quaternion::getMatrixCenter().
|
inline |
Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 813 of file matrix4.h.
References irr::core::DEGTORAD.
Referenced by irr::scene::ISceneNode::getRelativeTransformation().
|
inline |
Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 825 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Set Scale.
Definition at line 775 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::scene::ISceneNode::getRelativeTransformation().
|
inline |
Set Scale.
Definition at line 196 of file matrix4.h.
References irr::core::CMatrix4< T >::setScale().
Referenced by irr::core::CMatrix4< T >::setScale().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set the translation of the current matrix. Will erase any previous values.
Definition at line 751 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::scene::ISceneNode::getRelativeTransformation().
|
inline |
Transforms a axis aligned bounding box.
The result box of this operation may not be accurate at all. For
correct results, use transformBoxEx()
Definition at line 1203 of file matrix4.h.
References irr::core::aabbox3d< T >::MaxEdge, irr::core::aabbox3d< T >::MinEdge, and irr::core::aabbox3d< T >::repair().
|
inline |
Transforms a axis aligned bounding box.
Transforms a axis aligned bounding box more accurately than transformBox()
The result box of this operation should by accurate, but this operation
is slower than transformBox().
Definition at line 1217 of file matrix4.h.
References irr::core::aabbox3d< T >::MaxEdge, irr::core::aabbox3d< T >::MinEdge, irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::scene::ISceneNode::getTransformedBoundingBox().
|
inline |
Transforms a plane by this matrix.
Definition at line 1179 of file matrix4.h.
References irr::core::plane3d< T >::getMemberPoint(), irr::core::plane3d< T >::Normal, and irr::core::plane3d< T >::setPlane().
Referenced by irr::scene::SViewFrustum::transform().
|
inline |
|
inline |
|
inline |
Transforms the vector by this matrix.
Definition at line 1137 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::scene::SVertexPositionTransformManipulator::operator()(), and irr::scene::SViewFrustum::transform().
|
inline |
Transforms input vector by this matrix and stores result in output vector.
Definition at line 1151 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
An alternate transform vector method, writing into an array of 4 floats.
Definition at line 1160 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
|
inline |
Translate a vector by the translation part of this matrix.
Definition at line 1298 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
The Irrlicht
Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated
on Fri Dec 20 2013 11:17:07 by Doxygen
(1.8.5) |