From 393b5cd1dc438872af89d334ef6e5fcc59f27d47 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 17:24:39 +1000 Subject: Added Irrlicht 1.8, but without all the Windows binaries. --- .../doc/html/classirr_1_1core_1_1quaternion.html | 1240 ++++++++++++++++++++ 1 file changed, 1240 insertions(+) create mode 100644 libraries/irrlicht-1.8/doc/html/classirr_1_1core_1_1quaternion.html (limited to 'libraries/irrlicht-1.8/doc/html/classirr_1_1core_1_1quaternion.html') diff --git a/libraries/irrlicht-1.8/doc/html/classirr_1_1core_1_1quaternion.html b/libraries/irrlicht-1.8/doc/html/classirr_1_1core_1_1quaternion.html new file mode 100644 index 0000000..481ead1 --- /dev/null +++ b/libraries/irrlicht-1.8/doc/html/classirr_1_1core_1_1quaternion.html @@ -0,0 +1,1240 @@ + + +
+ +Quaternion class for representing rotations. + More...
+ +#include <quaternion.h>
Quaternion class for representing rotations.
+It provides cheap combinations and avoids gimbal locks. Also useful for interpolations.
+ +Definition at line 26 of file quaternion.h.
+irr::core::quaternion::quaternion | +( | +) | + [inline] |
+
Default Constructor.
+ +Definition at line 31 of file quaternion.h.
+ +Referenced by operator*(), and operator+().
+ +irr::core::quaternion::quaternion | +( | +f32 | +x, | +
+ | + | f32 | +y, | +
+ | + | f32 | +z, | +
+ | + | f32 | +w | +
+ | ) | + [inline] |
+
Constructor.
+ +Definition at line 34 of file quaternion.h.
+ +irr::core::quaternion::quaternion | +( | +f32 | +x, | +
+ | + | f32 | +y, | +
+ | + | f32 | +z | +
+ | ) | + [inline] |
+
Constructor which converts euler angles (radians) to a quaternion.
+ +Definition at line 187 of file quaternion.h.
+ +irr::core::quaternion::quaternion | +( | +const vector3df & | +vec | ) | + [inline] |
+
Constructor which converts euler angles (radians) to a quaternion.
+ +Definition at line 194 of file quaternion.h.
+ +References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
+ +irr::core::quaternion::quaternion | +( | +const matrix4 & | +mat | ) | + [inline] |
+
Constructor which converts a matrix to a quaternion.
+ +Definition at line 201 of file quaternion.h.
+ +f32 irr::core::quaternion::dotProduct | +( | +const quaternion & | +other | ) | + const [inline] |
+
bool irr::core::quaternion::equals | +( | +const quaternion & | +other, | +
+ | + | const f32 | +tolerance = ROUNDING_ERROR_f32 |
+
+ | ) | + const [inline] |
+
quaternion & irr::core::quaternion::fromAngleAxis | +( | +f32 | +angle, | +
+ | + | const vector3df & | +axis | +
+ | ) | + [inline] |
+
Create quaternion from rotation angle and rotation axis.
+axis must be unit length, angle in radians
+Axis must be unit length. The quaternion representing the rotation is q = cos(A/2)+sin(A/2)*(x*i+y*j+z*k).
+angle | Rotation Angle in radians. |
axis | Rotation axis. |
Definition at line 563 of file quaternion.h.
+ +References W, X, irr::core::vector3d< T >::X, Y, irr::core::vector3d< T >::Y, Z, and irr::core::vector3d< T >::Z.
+ +matrix4 irr::core::quaternion::getMatrix | +( | +) | + const [inline] |
+
Creates a matrix from this quaternion.
+ +Definition at line 338 of file quaternion.h.
+ +Referenced by irr::scene::SMD3QuaternionTag::setto().
+ +void irr::core::quaternion::getMatrix | +( | +matrix4 & | +dest, | +
+ | + | const core::vector3df & | +center = core::vector3df() |
+
+ | ) | + const [inline] |
+
Creates a matrix from this quaternion.
+Creates a matrix from this quaternion
+ +Definition at line 349 of file quaternion.h.
+ +References irr::core::CMatrix4< T >::setDefinitelyIdentityMatrix(), W, X, irr::core::vector3d< T >::X, Y, irr::core::vector3d< T >::Y, Z, and irr::core::vector3d< T >::Z.
+ +void irr::core::quaternion::getMatrix_transposed | +( | +matrix4 & | +dest | ) | + const [inline] |
+
Creates a matrix from this quaternion.
+ +Definition at line 411 of file quaternion.h.
+ +References irr::core::CMatrix4< T >::setDefinitelyIdentityMatrix(), W, X, Y, and Z.
+ +void irr::core::quaternion::getMatrixCenter | +( | +matrix4 & | +dest, | +
+ | + | const core::vector3df & | +center, | +
+ | + | const core::vector3df & | +translation | +
+ | ) | + const [inline] |
+
Creates a matrix from this quaternion Rotate about a center point shortcut for core::quaternion q; q.rotationFromTo ( vin[i].Normal, forward ); q.getMatrixCenter ( lookat, center, newPos );
+core::matrix4 m2; m2.setInverseTranslation ( center ); lookat *= m2;
+core::matrix4 m3; m2.setTranslation ( newPos ); lookat *= m3;
+Creates a matrix from this quaternion Rotate about a center point shortcut for core::quaternion q; q.rotationFromTo(vin[i].Normal, forward); q.getMatrix(lookat, center);
+core::matrix4 m2; m2.setInverseTranslation(center); lookat *= m2;
+ +Definition at line 388 of file quaternion.h.
+ +References irr::core::CMatrix4< T >::setRotationCenter(), W, X, Y, and Z.
+ +quaternion & irr::core::quaternion::lerp | +( | +quaternion | +q1, | +
+ | + | quaternion | +q2, | +
+ | + | f32 | +time | +
+ | ) | + [inline] |
+
Set this quaternion to the linear interpolation between two quaternions.
+q1 | First quaternion to be interpolated. |
q2 | Second quaternion to be interpolated. |
time | Progress of interpolation. For time=0 the result is q1, for time=1 the result is q2. Otherwise interpolation between q1 and q2. |
Definition at line 523 of file quaternion.h.
+ +Referenced by slerp().
+ +core::quaternion & irr::core::quaternion::makeIdentity | +( | +) | + [inline] |
+
Set quaternion to identity.
+ +Definition at line 649 of file quaternion.h.
+ + + +Referenced by rotationFromTo().
+ +quaternion & irr::core::quaternion::makeInverse | +( | +) | + [inline] |
+
Inverts this quaternion.
+ +Definition at line 438 of file quaternion.h.
+ + + +quaternion & irr::core::quaternion::normalize | +( | +) | + [inline] |
+
Normalizes the quaternion.
+ +Definition at line 510 of file quaternion.h.
+ +References irr::core::reciprocal_squareroot(), W, X, Y, and Z.
+ +Referenced by operator=(), rotationFromTo(), and set().
+ +bool irr::core::quaternion::operator!= | +( | +const quaternion & | +other | ) | + const [inline] |
+
inequality operator
+ +Definition at line 217 of file quaternion.h.
+ +quaternion irr::core::quaternion::operator* | +( | +const quaternion & | +other | ) | + const [inline] |
+
quaternion irr::core::quaternion::operator* | +( | +f32 | +s | ) | + const [inline] |
+
Multiplication operator with scalar.
+ +Definition at line 308 of file quaternion.h.
+ +References quaternion(), W, X, Y, and Z.
+ +vector3df irr::core::quaternion::operator* | +( | +const vector3df & | +v | ) | + const [inline] |
+
Multiplication operator.
+ +Definition at line 634 of file quaternion.h.
+ +References irr::core::vector3d< T >::crossProduct(), W, X, Y, and Z.
+ +quaternion & irr::core::quaternion::operator*= | +( | +f32 | +s | ) | + [inline] |
+
quaternion & irr::core::quaternion::operator*= | +( | +const quaternion & | +other | ) | + [inline] |
+
Multiplication operator.
+ +Definition at line 325 of file quaternion.h.
+ +quaternion irr::core::quaternion::operator+ | +( | +const quaternion & | +other | ) | + const [inline] |
+
Add operator.
+ +Definition at line 331 of file quaternion.h.
+ +References quaternion(), W, X, Y, and Z.
+ +quaternion & irr::core::quaternion::operator= | +( | +const quaternion & | +other | ) | + [inline] |
+
quaternion & irr::core::quaternion::operator= | +( | +const matrix4 & | +other | ) | + [inline] |
+
Matrix assignment operator.
+ +Definition at line 234 of file quaternion.h.
+ +References normalize(), W, X, Y, and Z.
+ +bool irr::core::quaternion::operator== | +( | +const quaternion & | +other | ) | + const [inline] |
+
core::quaternion & irr::core::quaternion::rotationFromTo | +( | +const vector3df & | +from, | +
+ | + | const vector3df & | +to | +
+ | ) | + [inline] |
+
Set quaternion to represent a rotation from one vector to another.
+ +Definition at line 658 of file quaternion.h.
+ +References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::getLength(), makeIdentity(), normalize(), irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::set(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
+ +quaternion & irr::core::quaternion::set | +( | +f32 | +x, | +
+ | + | f32 | +y, | +
+ | + | f32 | +z, | +
+ | + | f32 | +w | +
+ | ) | + [inline] |
+
quaternion & irr::core::quaternion::set | +( | +f32 | +x, | +
+ | + | f32 | +y, | +
+ | + | f32 | +z | +
+ | ) | + [inline] |
+
Sets new quaternion based on euler angles (radians)
+ +Definition at line 457 of file quaternion.h.
+ +References normalize(), W, X, Y, and Z.
+ +quaternion & irr::core::quaternion::set | +( | +const core::vector3df & | +vec | ) | + [inline] |
+
Sets new quaternion based on euler angles (radians)
+ +Definition at line 487 of file quaternion.h.
+ +References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
+ +quaternion & irr::core::quaternion::set | +( | +const core::quaternion & | +quat | ) | + [inline] |
+
Sets new quaternion from other quaternion.
+ +Definition at line 493 of file quaternion.h.
+ +quaternion & irr::core::quaternion::slerp | +( | +quaternion | +q1, | +
+ | + | quaternion | +q2, | +
+ | + | f32 | +time, | +
+ | + | f32 | +threshold = .05f |
+
+ | ) | + [inline] |
+
Set this quaternion to the result of the spherical interpolation between two quaternions.
+q1 | First quaternion to be interpolated. |
q2 | Second quaternion to be interpolated. |
time | Progress of interpolation. For time=0 the result is q1, for time=1 the result is q2. Otherwise interpolation between q1 and q2. |
threshold | To avoid inaccuracies at the end (time=1) the interpolation switches to linear interpolation at some point. This value defines how much of the remaining interpolation will be calculated with lerp. Everything from 1-threshold up will be linear interpolation. |
Definition at line 531 of file quaternion.h.
+ +References dotProduct(), lerp(), and irr::core::reciprocal().
+ +void irr::core::quaternion::toAngleAxis | +( | +f32 & | +angle, | +
+ | + | core::vector3df & | +axis | +
+ | ) | + const [inline] |
+
Fills an angle (radians) around an axis (unit vector)
+ +Definition at line 575 of file quaternion.h.
+ +References irr::core::iszero(), irr::core::reciprocal(), W, X, irr::core::vector3d< T >::X, Y, irr::core::vector3d< T >::Y, Z, and irr::core::vector3d< T >::Z.
+ +void irr::core::quaternion::toEuler | +( | +vector3df & | +euler | ) | + const [inline] |
+
Output this quaternion to an euler angle (radians)
+ +Definition at line 596 of file quaternion.h.
+ +References irr::core::clamp(), irr::core::equals(), irr::core::PI64, W, X, irr::core::vector3d< T >::X, Y, irr::core::vector3d< T >::Y, Z, and irr::core::vector3d< T >::Z.
+ +f32 irr::core::quaternion::W | +
Definition at line 182 of file quaternion.h.
+ +Referenced by dotProduct(), equals(), fromAngleAxis(), getMatrix(), getMatrix_transposed(), getMatrixCenter(), makeIdentity(), normalize(), operator*(), operator*=(), operator+(), operator=(), operator==(), set(), toAngleAxis(), and toEuler().
+ +f32 irr::core::quaternion::X | +
Quaternion elements.
+ +Definition at line 179 of file quaternion.h.
+ +Referenced by dotProduct(), equals(), fromAngleAxis(), getMatrix(), getMatrix_transposed(), getMatrixCenter(), makeIdentity(), makeInverse(), normalize(), operator*(), operator*=(), operator+(), operator=(), operator==(), set(), toAngleAxis(), and toEuler().
+ +f32 irr::core::quaternion::Y | +
Definition at line 180 of file quaternion.h.
+ +Referenced by dotProduct(), equals(), fromAngleAxis(), getMatrix(), getMatrix_transposed(), getMatrixCenter(), makeIdentity(), makeInverse(), normalize(), operator*(), operator*=(), operator+(), operator=(), operator==(), set(), toAngleAxis(), and toEuler().
+ +f32 irr::core::quaternion::Z | +
Definition at line 181 of file quaternion.h.
+ +Referenced by dotProduct(), equals(), fromAngleAxis(), getMatrix(), getMatrix_transposed(), getMatrixCenter(), makeIdentity(), makeInverse(), normalize(), operator*(), operator*=(), operator+(), operator=(), operator==(), set(), toAngleAxis(), and toEuler().
+ +