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 CscQuaternionclone () const
 
CscQuaternion operator* (const CscQuaternion &other) const
 
CscQuaternionoperator*= (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: