HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HOM_Quaternion Class Reference

#include <HOM_Quaternion.h>

Public Member Functions

 HOM_Quaternion ()
 
 HOM_Quaternion (const std::vector< double > &sequence)
 
 HOM_Quaternion (double x, double y, double z, double w)
 
 HOM_Quaternion (double angle_in_deg, const std::vector< double > &axis)
 
 HOM_Quaternion (HOM_Matrix3 &matrix3)
 
 HOM_Quaternion (HOM_Matrix4 &matrix4)
 
 HOM_Quaternion (const UT_QuaternionD &quaternion)
 
 ~HOM_Quaternion ()
 
bool operator== (HOM_PtrOrNull< HOM_Quaternion > quaternion)
 
bool operator!= (HOM_PtrOrNull< HOM_Quaternion > quaternion)
 
bool isAlmostEqual (HOM_Quaternion &quaternion, double tolerance=0.00001)
 
bool almostEqual (HOM_Quaternion &quaternion, double tolerance=0.00001)
 
int __hash__ ()
 
std::string __str__ ()
 
std::string __repr__ ()
 
double __getitem__ (int index)
 
void __setitem__ (int index, double value)
 
int __len__ ()
 
void setTo (const std::vector< double > &tuple)
 
void setToRotationMatrix (HOM_Matrix3 &matrix3)
 
void setToRotationMatrix (HOM_Matrix4 &matrix4)
 
void setToAngleAxis (double angle_in_deg, const std::vector< double > &axis)
 
void setToVectors (const HOM_Vector3 &v1, const HOM_Vector3 &v2)
 
void setToEulerRotates (const std::vector< double > &angles_in_deg, const char *rotate_order="xyz")
 
HOM_Quaternionoperator= (const HOM_Quaternion &quaternion)
 
HOM_Quaternion conjugate ()
 
HOM_Quaternion inverse ()
 
double dot (HOM_Quaternion &quaternion)
 
HOM_Quaternion __add__ (HOM_Quaternion &quaternion)
 
HOM_Quaternion __sub__ (HOM_Quaternion &quaternion)
 
HOM_Quaternion __mul__ (double scalar)
 
HOM_Quaternion __mul__ (HOM_Quaternion &quaternion)
 
HOM_Quaternion slerp (HOM_Quaternion &other, double fraction)
 
HOM_Quaternion normalized ()
 
double length ()
 
HOM_Matrix3extractRotationMatrix3 ()
 
std::pair< double, HOM_ElemPtr
< HOM_Vector3 > > 
extractAngleAxis ()
 
HOM_Vector3 extractEulerRotates (const char *rotate_order="xyz")
 
HOM_Vector3 rotate (const HOM_Vector3 &v)
 
void_asVoidPointer ()
 

Public Attributes

UT_QuaternionD myQuaternion
 

Detailed Description

Definition at line 27 of file HOM_Quaternion.h.

Constructor & Destructor Documentation

HOM_Quaternion::HOM_Quaternion ( )
inline

Definition at line 30 of file HOM_Quaternion.h.

HOM_Quaternion::HOM_Quaternion ( const std::vector< double > &  sequence)
inline

Definition at line 34 of file HOM_Quaternion.h.

HOM_Quaternion::HOM_Quaternion ( double  x,
double  y,
double  z,
double  w 
)
inline

Definition at line 40 of file HOM_Quaternion.h.

HOM_Quaternion::HOM_Quaternion ( double  angle_in_deg,
const std::vector< double > &  axis 
)
inline

Definition at line 44 of file HOM_Quaternion.h.

HOM_Quaternion::HOM_Quaternion ( HOM_Matrix3 matrix3)
HOM_Quaternion::HOM_Quaternion ( HOM_Matrix4 matrix4)
HOM_Quaternion::HOM_Quaternion ( const UT_QuaternionD quaternion)
inline

Definition at line 54 of file HOM_Quaternion.h.

HOM_Quaternion::~HOM_Quaternion ( )
inline

Definition at line 58 of file HOM_Quaternion.h.

Member Function Documentation

HOM_Quaternion HOM_Quaternion::__add__ ( HOM_Quaternion quaternion)
inline

Definition at line 109 of file HOM_Quaternion.h.

double HOM_Quaternion::__getitem__ ( int  index)
int HOM_Quaternion::__hash__ ( )
int HOM_Quaternion::__len__ ( )
inline

Definition at line 80 of file HOM_Quaternion.h.

HOM_Quaternion HOM_Quaternion::__mul__ ( double  scalar)
inline

Definition at line 113 of file HOM_Quaternion.h.

HOM_Quaternion HOM_Quaternion::__mul__ ( HOM_Quaternion quaternion)
std::string HOM_Quaternion::__repr__ ( )
void HOM_Quaternion::__setitem__ ( int  index,
double  value 
)
std::string HOM_Quaternion::__str__ ( )
HOM_Quaternion HOM_Quaternion::__sub__ ( HOM_Quaternion quaternion)
inline

Definition at line 111 of file HOM_Quaternion.h.

void* HOM_Quaternion::_asVoidPointer ( )
inline

Definition at line 135 of file HOM_Quaternion.h.

bool HOM_Quaternion::almostEqual ( HOM_Quaternion quaternion,
double  tolerance = 0.00001 
)
inline

Definition at line 71 of file HOM_Quaternion.h.

HOM_Quaternion HOM_Quaternion::conjugate ( )
double HOM_Quaternion::dot ( HOM_Quaternion quaternion)
inline

Definition at line 106 of file HOM_Quaternion.h.

std::pair<double, HOM_ElemPtr<HOM_Vector3> > HOM_Quaternion::extractAngleAxis ( )
HOM_Vector3 HOM_Quaternion::extractEulerRotates ( const char *  rotate_order = "xyz")
HOM_Matrix3* HOM_Quaternion::extractRotationMatrix3 ( )
HOM_Quaternion HOM_Quaternion::inverse ( )
bool HOM_Quaternion::isAlmostEqual ( HOM_Quaternion quaternion,
double  tolerance = 0.00001 
)
double HOM_Quaternion::length ( void  )
inline

Definition at line 122 of file HOM_Quaternion.h.

HOM_Quaternion HOM_Quaternion::normalized ( )
bool HOM_Quaternion::operator!= ( HOM_PtrOrNull< HOM_Quaternion quaternion)
inline

Definition at line 65 of file HOM_Quaternion.h.

HOM_Quaternion& HOM_Quaternion::operator= ( const HOM_Quaternion quaternion)
inline

Definition at line 98 of file HOM_Quaternion.h.

bool HOM_Quaternion::operator== ( HOM_PtrOrNull< HOM_Quaternion quaternion)
inline

Definition at line 61 of file HOM_Quaternion.h.

HOM_Vector3 HOM_Quaternion::rotate ( const HOM_Vector3 v)
void HOM_Quaternion::setTo ( const std::vector< double > &  tuple)
void HOM_Quaternion::setToAngleAxis ( double  angle_in_deg,
const std::vector< double > &  axis 
)
void HOM_Quaternion::setToEulerRotates ( const std::vector< double > &  angles_in_deg,
const char *  rotate_order = "xyz" 
)
void HOM_Quaternion::setToRotationMatrix ( HOM_Matrix3 matrix3)
void HOM_Quaternion::setToRotationMatrix ( HOM_Matrix4 matrix4)
void HOM_Quaternion::setToVectors ( const HOM_Vector3 v1,
const HOM_Vector3 v2 
)
HOM_Quaternion HOM_Quaternion::slerp ( HOM_Quaternion other,
double  fraction 
)

Member Data Documentation

UT_QuaternionD HOM_Quaternion::myQuaternion

Definition at line 140 of file HOM_Quaternion.h.


The documentation for this class was generated from the following file: