Conscience Core
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
conscience_core::axiomes::CscQuaternion Struct Reference

#include <Csc3dTypes.h>

Public Member Functions

 CscQuaternion (double w=0, double x=0, double y=0, double z=0)
 
 CscQuaternion (const double *values)
 
virtual ~CscQuaternion ()=default
 
double getX () const
 
double getY () const
 
double getZ () const
 
double getW () const
 
virtual operator string () const
 
virtual string toString () const
 
virtual CscQuaternion * clone () const
 
CscQuaternion operator* (const CscQuaternion &other) const
 
CscQuaternion & operator*= (const CscQuaternion &other)
 
CscPoint3d operator* (const CscPoint3d &vector) const
 
CscQuaternion operator/ (const CscQuaternion &other) const
 
CscQuaternion operator+ (const CscQuaternion &other) const
 
void normalize ()
 
CscQuaternion conjugate () const
 
CscQuaternion inverse () const
 
void rotateVector (CscPoint3d &vector) const
 
CscRotation3dEuler toEuler () const
 

Static Public Member Functions

static CscQuaternion identity ()
 
static CscQuaternion fromAngleAxis (double angleRad, Axis3d axis)
 

Public Attributes

double w = 0
 
double x = 0
 
double y = 0
 
double z = 0
 

Constructor & Destructor Documentation

◆ CscQuaternion() [1/2]

conscience_core::axiomes::CscQuaternion::CscQuaternion ( double  w = 0,
double  x = 0,
double  y = 0,
double  z = 0 
)

◆ CscQuaternion() [2/2]

conscience_core::axiomes::CscQuaternion::CscQuaternion ( const double *  values)
Parameters
valuesvalues as array of w, x, y, z
Warning
will crash if values has not enough values

◆ ~CscQuaternion()

virtual conscience_core::axiomes::CscQuaternion::~CscQuaternion ( )
virtualdefault

Member Function Documentation

◆ clone()

CscQuaternion * conscience_core::axiomes::CscQuaternion::clone ( ) const
virtual

◆ conjugate()

CscQuaternion conscience_core::axiomes::CscQuaternion::conjugate ( ) const

Get conjugate of the quaternion. Same as inverse if quaternion is normalized (length of 1).

See also
CscQuaternion::inverse()
CscQuaternion::normalize()

◆ fromAngleAxis()

CscQuaternion conscience_core::axiomes::CscQuaternion::fromAngleAxis ( double  angleRad,
Axis3d  axis 
)
static

◆ getW()

double conscience_core::axiomes::CscQuaternion::getW ( ) const

◆ getX()

double conscience_core::axiomes::CscQuaternion::getX ( ) const

◆ getY()

double conscience_core::axiomes::CscQuaternion::getY ( ) const

◆ getZ()

double conscience_core::axiomes::CscQuaternion::getZ ( ) const

◆ identity()

CscQuaternion conscience_core::axiomes::CscQuaternion::identity ( )
static

identity quaternion (no rotation)

◆ inverse()

CscQuaternion conscience_core::axiomes::CscQuaternion::inverse ( ) const

◆ normalize()

void conscience_core::axiomes::CscQuaternion::normalize ( )

Normalize the quaternion (make unit length)

◆ operator string()

conscience_core::axiomes::CscQuaternion::operator string ( ) const
virtual

◆ operator*() [1/2]

CscPoint3d conscience_core::axiomes::CscQuaternion::operator* ( const CscPoint3d &  vector) const

◆ operator*() [2/2]

CscQuaternion conscience_core::axiomes::CscQuaternion::operator* ( const CscQuaternion &  other) const

Multiplication operator (q1 * q2)

◆ operator*=()

CscQuaternion & conscience_core::axiomes::CscQuaternion::operator*= ( const CscQuaternion &  other)

◆ operator+()

CscQuaternion conscience_core::axiomes::CscQuaternion::operator+ ( const CscQuaternion &  other) const

◆ operator/()

CscQuaternion conscience_core::axiomes::CscQuaternion::operator/ ( const CscQuaternion &  other) const

/ Division operator (q1 / q2 = q1 * inverse(q2))

◆ rotateVector()

void conscience_core::axiomes::CscQuaternion::rotateVector ( CscPoint3d &  vector) const

◆ toEuler()

CscRotation3dEuler conscience_core::axiomes::CscQuaternion::toEuler ( ) const

◆ toString()

string conscience_core::axiomes::CscQuaternion::toString ( ) const
virtual

Member Data Documentation

◆ w

double conscience_core::axiomes::CscQuaternion::w = 0

◆ x

double conscience_core::axiomes::CscQuaternion::x = 0

◆ y

double conscience_core::axiomes::CscQuaternion::y = 0

◆ z

double conscience_core::axiomes::CscQuaternion::z = 0

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