AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
QuaternionData Struct Reference

#include "GameObjectData.h"

Public Member Functions

 QuaternionData ()
 
 QuaternionData (float X, float Y, float Z, float W)
 
bool IsUnit () const
 
void ToEulerAnglesZYX (float &Z, float &Y, float &X) const
 

Static Public Member Functions

static QuaternionData FromEulerAnglesZYX (float Z, float Y, float X)
 

Public Attributes

float x
 
float y
 
float z
 
float w
 

Detailed Description

Constructor & Destructor Documentation

◆ QuaternionData() [1/2]

QuaternionData::QuaternionData ( )
inline
689: x(0.0f), y(0.0f), z(0.0f), w(1.0f) { }
float w
Definition GameObjectData.h:687
float z
Definition GameObjectData.h:686
float y
Definition GameObjectData.h:685
float x
Definition GameObjectData.h:684

Referenced by FromEulerAnglesZYX().

◆ QuaternionData() [2/2]

QuaternionData::QuaternionData ( float  X,
float  Y,
float  Z,
float  W 
)
inline
690: x(X), y(Y), z(Z), w(W) { }

Member Function Documentation

◆ FromEulerAnglesZYX()

QuaternionData QuaternionData::FromEulerAnglesZYX ( float  Z,
float  Y,
float  X 
)
static
52{
53 G3D::Quat quat(G3D::Matrix3::fromEulerAnglesZYX(Z, Y, X));
54 return QuaternionData(quat.x, quat.y, quat.z, quat.w);
55}
QuaternionData()
Definition GameObjectData.h:689

References QuaternionData().

◆ IsUnit()

bool QuaternionData::IsUnit ( ) const
42{
43 return fabs(x * x + y * y + z * z + w * w - 1.0f) < 1e-5f;
44}

References w, x, y, and z.

Referenced by ObjectMgr::LoadGameObjectAddons().

◆ ToEulerAnglesZYX()

void QuaternionData::ToEulerAnglesZYX ( float &  Z,
float &  Y,
float &  X 
) const
47{
48 G3D::Matrix3(G3D::Quat(x, y, z, w)).toEulerAnglesZYX(Z, Y, X);
49}

References w, x, y, and z.

Member Data Documentation

◆ w

float QuaternionData::w

◆ x

float QuaternionData::x

◆ y

float QuaternionData::y

◆ z

float QuaternionData::z

The documentation for this struct was generated from the following files: