Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la clase EU::Quaternion

A quaternion class. Más...

#include <Quaternion.h>

Métodos públicos

Quaternion conjugate () const
 Returns the conjugate of the quaternion.
 
const float * data () const
 Returns a pointer to the quaternion's data.
 
Quaternion inverse () const
 Returns the inverse of the quaternion.
 
float magnitude () const
 Calculates the magnitude (length) of the quaternion.
 
Quaternion normalize () const
 Normalizes the quaternion.
 
bool operator!= (const Quaternion &other) const
 Inequality operator.
 
Quaternion operator* (const Quaternion &other) const
 Multiplies this quaternion by another quaternion.
 
Quaternion operator* (float scalar) const
 Multiplies this quaternion by a scalar.
 
Quaternion operator+ (const Quaternion &other) const
 Adds another quaternion to this quaternion.
 
Quaternion operator- (const Quaternion &other) const
 Subtracts another quaternion from this quaternion.
 
bool operator== (const Quaternion &other) const
 Equality operator.
 
 Quaternion ()
 Default constructor.
 
 Quaternion (float w, float x, float y, float z)
 Parameterized constructor.
 
Vector3 rotate (const Vector3 &v) const
 Rotates a vector by this quaternion.
 

Métodos públicos estáticos

static Quaternion fromAxisAngle (const Vector3 &axis, float angle)
 Constructs a quaternion from an axis and an angle (in radians).
 

Atributos públicos

float w
 The real part of the quaternion.
 
float x
 The i component of the quaternion.
 
float y
 The j component of the quaternion.
 
float z
 The k component of the quaternion.
 

Descripción detallada

This class represents a quaternion, providing operations such as addition, subtraction, scalar multiplication, normalization, and quaternion multiplication.

Definición en la línea 45 del archivo Quaternion.h.

Documentación de constructores y destructores

◆ Quaternion() [1/2]

EU::Quaternion::Quaternion ( )
inline

Initializes the quaternion to (1, 0, 0, 0).

Definición en la línea 57 del archivo Quaternion.h.

Referenciado por conjugate(), fromAxisAngle(), inverse(), normalize(), operator*(), operator*(), operator+() y operator-().

◆ Quaternion() [2/2]

EU::Quaternion::Quaternion ( float  w,
float  x,
float  y,
float  z 
)
inline

Initializes the quaternion to the given w, x, y, and z values.

Parámetros
wThe real part.
xThe i component.
yThe j component.
zThe k component.

Definición en la línea 69 del archivo Quaternion.h.

Documentación de funciones miembro

◆ conjugate()

Quaternion EU::Quaternion::conjugate ( ) const
inline
Devuelve
The conjugated quaternion.

Definición en la línea 163 del archivo Quaternion.h.

Hace referencia a Quaternion(), w, x, y y z.

Referenciado por inverse().

◆ data()

const float * EU::Quaternion::data ( ) const
inline
Devuelve
Pointer to the first element (w, x, y, z).

Definición en la línea 216 del archivo Quaternion.h.

Hace referencia a w.

◆ fromAxisAngle()

static Quaternion EU::Quaternion::fromAxisAngle ( const Vector3 axis,
float  angle 
)
inlinestatic
Parámetros
axisThe axis of rotation (must be normalized).
angleThe angle of rotation in radians.
Devuelve
The quaternion representing the rotation.

Definición en la línea 200 del archivo Quaternion.h.

Hace referencia a EU::cos(), Quaternion(), EU::sin(), EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.

◆ inverse()

Quaternion EU::Quaternion::inverse ( ) const
inline
Devuelve
The inverted quaternion.

Definición en la línea 172 del archivo Quaternion.h.

Hace referencia a conjugate(), Quaternion(), w, x, y y z.

Referenciado por rotate().

◆ magnitude()

float EU::Quaternion::magnitude ( ) const
inline
Devuelve
The magnitude of the quaternion.

Definición en la línea 141 del archivo Quaternion.h.

Hace referencia a EU::sqrt(), w, x, y y z.

Referenciado por normalize().

◆ normalize()

Quaternion EU::Quaternion::normalize ( ) const
inline
Devuelve
The normalized quaternion.

Definición en la línea 150 del archivo Quaternion.h.

Hace referencia a magnitude(), Quaternion(), w, x, y y z.

◆ operator!=()

bool EU::Quaternion::operator!= ( const Quaternion other) const
inline
Parámetros
otherThe quaternion to compare with.
Devuelve
True if the quaternions are not equal, false otherwise.

Definición en la línea 132 del archivo Quaternion.h.

◆ operator*() [1/2]

Quaternion EU::Quaternion::operator* ( const Quaternion other) const
inline
Parámetros
otherThe quaternion to multiply by.
Devuelve
The result of the multiplication.

Definición en la línea 107 del archivo Quaternion.h.

Hace referencia a Quaternion(), w, x, y y z.

◆ operator*() [2/2]

Quaternion EU::Quaternion::operator* ( float  scalar) const
inline
Parámetros
scalarThe scalar to multiply by.
Devuelve
The result of the multiplication.

Definición en la línea 97 del archivo Quaternion.h.

Hace referencia a Quaternion(), w, x, y y z.

◆ operator+()

Quaternion EU::Quaternion::operator+ ( const Quaternion other) const
inline
Parámetros
otherThe quaternion to add.
Devuelve
The result of the addition.

Definición en la línea 77 del archivo Quaternion.h.

Hace referencia a Quaternion(), w, x, y y z.

◆ operator-()

Quaternion EU::Quaternion::operator- ( const Quaternion other) const
inline
Parámetros
otherThe quaternion to subtract.
Devuelve
The result of the subtraction.

Definición en la línea 87 del archivo Quaternion.h.

Hace referencia a Quaternion(), w, x, y y z.

◆ operator==()

bool EU::Quaternion::operator== ( const Quaternion other) const
inline
Parámetros
otherThe quaternion to compare with.
Devuelve
True if the quaternions are equal, false otherwise.

Definición en la línea 122 del archivo Quaternion.h.

Hace referencia a w, x, y y z.

◆ rotate()

Vector3 EU::Quaternion::rotate ( const Vector3 v) const
inline
Parámetros
vThe vector to rotate.
Devuelve
The rotated vector.

Definición en la línea 187 del archivo Quaternion.h.

Hace referencia a inverse(), x, EU::Vector3::x, y, EU::Vector3::y, z y EU::Vector3::z.

Documentación de datos miembro

◆ w

float EU::Quaternion::w

Definición en la línea 47 del archivo Quaternion.h.

Referenciado por conjugate(), data(), inverse(), magnitude(), normalize(), operator*(), operator*(), operator+(), operator-() y operator==().

◆ x

float EU::Quaternion::x

◆ y

float EU::Quaternion::y

◆ z

float EU::Quaternion::z

La documentación de esta clase está generada del siguiente archivo: