From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../doc/html/classirr_1_1core_1_1quaternion.html | 1240 ++++++++++++++++++++ 1 file changed, 1240 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1quaternion.html (limited to 'src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1quaternion.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1quaternion.html b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1quaternion.html new file mode 100644 index 0000000..0f4dbb7 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1quaternion.html @@ -0,0 +1,1240 @@ + + + + +Irrlicht 3D Engine: irr::core::quaternion Class Reference + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+ +
+
irr::core::quaternion Class Reference
+
+
+ +

Quaternion class for representing rotations. + More...

+ +

#include <quaternion.h>

+ +

List of all members.

+

+Public Member Functions

+ +

+Public Attributes

+ +

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
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 vector3dfvec) [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 matrix4mat) [inline]
+
+
+ +

Constructor which converts a matrix to a quaternion.

+ +

Definition at line 201 of file quaternion.h.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
f32 irr::core::quaternion::dotProduct (const quaternionother) const [inline]
+
+
+ +

Calculates the dot product.

+ +

Definition at line 556 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +

Referenced by slerp().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool irr::core::quaternion::equals (const quaternionother,
const f32 tolerance = ROUNDING_ERROR_f32 
) const [inline]
+
+
+ +

returns if this quaternion equals the other one, taking floating point rounding errors into account

+ +

Definition at line 500 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
quaternion & irr::core::quaternion::fromAngleAxis (f32 angle,
const vector3dfaxis 
) [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).

+
Parameters:
+ + + +
angleRotation Angle in radians.
axisRotation 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 (matrix4dest,
const core::vector3dfcenter = 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 (matrix4dest) 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 (matrix4dest,
const core::vector3dfcenter,
const core::vector3dftranslation 
) 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.

+
Parameters:
+ + + + +
q1First quaternion to be interpolated.
q2Second quaternion to be interpolated.
timeProgress 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.

+ +

References W, X, Y, and Z.

+ +

Referenced by rotationFromTo().

+ +
+
+ +
+
+ + + + + + + +
quaternion & irr::core::quaternion::makeInverse () [inline]
+
+
+ +

Inverts this quaternion.

+ +

Definition at line 438 of file quaternion.h.

+ +

References X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + +
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 quaternionother) const [inline]
+
+
+ +

inequality operator

+ +

Definition at line 217 of file quaternion.h.

+ +
+
+ +
+
+ + + + + + + + +
quaternion irr::core::quaternion::operator* (const quaternionother) const [inline]
+
+
+ +

Multiplication operator.

+ +

Definition at line 294 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + +
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 vector3dfv) 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]
+
+
+ +

Multiplication operator with scalar.

+ +

Definition at line 315 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + +
quaternion & irr::core::quaternion::operator*= (const quaternionother) [inline]
+
+
+ +

Multiplication operator.

+ +

Definition at line 325 of file quaternion.h.

+ +
+
+ +
+
+ + + + + + + + +
quaternion irr::core::quaternion::operator+ (const quaternionother) 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 quaternionother) [inline]
+
+
+ +

Assignment operator.

+ +

Definition at line 223 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + +
quaternion & irr::core::quaternion::operator= (const matrix4other) [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 quaternionother) const [inline]
+
+
+ +

Equalilty operator.

+ +

Definition at line 208 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
core::quaternion & irr::core::quaternion::rotationFromTo (const vector3dffrom,
const vector3dfto 
) [inline]
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
quaternion & irr::core::quaternion::set (f32 x,
f32 y,
f32 z,
f32 w 
) [inline]
+
+
+ +

Sets new quaternion.

+ +

Definition at line 446 of file quaternion.h.

+ +

References W, X, Y, and Z.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
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::vector3dfvec) [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::quaternionquat) [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.

+
Parameters:
+ + + + + +
q1First quaternion to be interpolated.
q2Second quaternion to be interpolated.
timeProgress of interpolation. For time=0 the result is q1, for time=1 the result is q2. Otherwise interpolation between q1 and q2.
thresholdTo 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 (f32angle,
core::vector3dfaxis 
) 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 (vector3dfeuler) 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.

+ +
+
+

Member Data Documentation

+ + + + + + + + +
The documentation for this class was generated from the following file: +
+
+ + + + + -- cgit v1.1