QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_Quaternion Class Reference

#include <opennurbs_quaternion.h>

Public Member Functions

ON_Quaternion Conjugate () const
 
double DistanceTo (const ON_Quaternion &q) const
 
bool GetRotation (double &angle, ON_3dVector &axis) const
 
bool GetRotation (ON_Plane &plane) const
 
bool GetRotation (ON_Xform &xform) const
 
ON_Quaternion Inverse () const
 
bool Invert ()
 
bool IsScalar () const
 
bool IsValid () const
 
bool IsVector () const
 
bool IsZero () const
 
double Length () const
 
double LengthSquared () const
 
ON_Xform MatrixForm () const
 
 ON_Quaternion ()
 
 ON_Quaternion (const ON_3dVector &v)
 
 ON_Quaternion (double qa, double qb, double qc, double qd)
 
ON_Quaternion operator* (const ON_Quaternion &) const
 
ON_Quaternion operator* (double) const
 
ON_Quaternion operator* (float) const
 
ON_Quaternion operator* (int) const
 
ON_Quaternion operator+ (const ON_Quaternion &) const
 
ON_Quaternion operator- (const ON_Quaternion &) const
 
ON_Quaternion operator/ (double) const
 
ON_Quaternion operator/ (float) const
 
ON_Quaternion operator/ (int) const
 
ON_Quaternionoperator= (const ON_3dVector &v)
 
ON_3dVector Rotate (ON_3dVector v) const
 
double Scalar () const
 
void Set (double qa, double qb, double qc, double qd)
 
void SetRotation (const ON_Plane &plane0, const ON_Plane &plane1)
 
void SetRotation (double angle, const ON_3dVector &axis)
 
bool Unitize ()
 
ON_3dVector Vector () const
 

Static Public Member Functions

static double Distance (const ON_Quaternion &p, const ON_Quaternion &q)
 
static ON_Quaternion Exp (ON_Quaternion q)
 
static ON_Quaternion Log (ON_Quaternion q)
 
static ON_Quaternion Pow (ON_Quaternion q, double t)
 
static ON_Quaternion Rotation (const ON_Plane &plane0, const ON_Plane &plane1)
 
static ON_Quaternion Rotation (double angle, const ON_3dVector &axis)
 
static ON_Quaternion Slerp (ON_Quaternion q0, ON_Quaternion q1, double t)
 

Public Attributes

double a
 
double b
 
double c
 
double d
 

Static Public Attributes

static const ON_Quaternion I
 
static const ON_Quaternion Identity
 
static const ON_Quaternion J
 
static const ON_Quaternion K
 
static const ON_Quaternion Zero
 

Constructor & Destructor Documentation

◆ ON_Quaternion() [1/3]

ON_Quaternion::ON_Quaternion ( )
inline

◆ ON_Quaternion() [2/3]

ON_Quaternion::ON_Quaternion ( double qa,
double qb,
double qc,
double qd )

◆ ON_Quaternion() [3/3]

ON_Quaternion::ON_Quaternion ( const ON_3dVector & v)

Member Function Documentation

◆ Conjugate()

ON_Quaternion ON_Quaternion::Conjugate ( ) const

◆ Distance()

double ON_Quaternion::Distance ( const ON_Quaternion & p,
const ON_Quaternion & q )
static

◆ DistanceTo()

double ON_Quaternion::DistanceTo ( const ON_Quaternion & q) const

◆ Exp()

ON_Quaternion ON_Quaternion::Exp ( ON_Quaternion q)
static

◆ GetRotation() [1/3]

bool ON_Quaternion::GetRotation ( double & angle,
ON_3dVector & axis ) const

◆ GetRotation() [2/3]

bool ON_Quaternion::GetRotation ( ON_Plane & plane) const

◆ GetRotation() [3/3]

bool ON_Quaternion::GetRotation ( ON_Xform & xform) const

◆ Inverse()

ON_Quaternion ON_Quaternion::Inverse ( ) const

◆ Invert()

bool ON_Quaternion::Invert ( )

◆ IsScalar()

bool ON_Quaternion::IsScalar ( ) const

◆ IsValid()

bool ON_Quaternion::IsValid ( ) const

◆ IsVector()

bool ON_Quaternion::IsVector ( ) const

◆ IsZero()

bool ON_Quaternion::IsZero ( ) const

◆ Length()

double ON_Quaternion::Length ( ) const

◆ LengthSquared()

double ON_Quaternion::LengthSquared ( ) const

◆ Log()

ON_Quaternion ON_Quaternion::Log ( ON_Quaternion q)
static

◆ MatrixForm()

ON_Xform ON_Quaternion::MatrixForm ( ) const

◆ operator*() [1/4]

ON_Quaternion ON_Quaternion::operator* ( const ON_Quaternion & q) const

◆ operator*() [2/4]

ON_Quaternion ON_Quaternion::operator* ( double x) const

◆ operator*() [3/4]

ON_Quaternion ON_Quaternion::operator* ( float x) const

◆ operator*() [4/4]

ON_Quaternion ON_Quaternion::operator* ( int x) const

◆ operator+()

ON_Quaternion ON_Quaternion::operator+ ( const ON_Quaternion & q) const

◆ operator-()

ON_Quaternion ON_Quaternion::operator- ( const ON_Quaternion & q) const

◆ operator/() [1/3]

ON_Quaternion ON_Quaternion::operator/ ( double y) const

◆ operator/() [2/3]

ON_Quaternion ON_Quaternion::operator/ ( float y) const

◆ operator/() [3/3]

ON_Quaternion ON_Quaternion::operator/ ( int y) const

◆ operator=()

ON_Quaternion & ON_Quaternion::operator= ( const ON_3dVector & v)

◆ Pow()

ON_Quaternion ON_Quaternion::Pow ( ON_Quaternion q,
double t )
static

◆ Rotate()

ON_3dVector ON_Quaternion::Rotate ( ON_3dVector v) const

◆ Rotation() [1/2]

ON_Quaternion ON_Quaternion::Rotation ( const ON_Plane & plane0,
const ON_Plane & plane1 )
static

◆ Rotation() [2/2]

ON_Quaternion ON_Quaternion::Rotation ( double angle,
const ON_3dVector & axis )
static

◆ Scalar()

double ON_Quaternion::Scalar ( ) const

◆ Set()

void ON_Quaternion::Set ( double qa,
double qb,
double qc,
double qd )

◆ SetRotation() [1/2]

void ON_Quaternion::SetRotation ( const ON_Plane & plane0,
const ON_Plane & plane1 )

◆ SetRotation() [2/2]

void ON_Quaternion::SetRotation ( double angle,
const ON_3dVector & axis )

◆ Slerp()

ON_Quaternion ON_Quaternion::Slerp ( ON_Quaternion q0,
ON_Quaternion q1,
double t )
static

◆ Unitize()

bool ON_Quaternion::Unitize ( )

◆ Vector()

ON_3dVector ON_Quaternion::Vector ( ) const

Member Data Documentation

◆ a

double ON_Quaternion::a

◆ b

double ON_Quaternion::b

◆ c

double ON_Quaternion::c

◆ d

double ON_Quaternion::d

◆ I

const ON_Quaternion ON_Quaternion::I
static

◆ Identity

const ON_Quaternion ON_Quaternion::Identity
static

◆ J

const ON_Quaternion ON_Quaternion::J
static

◆ K

const ON_Quaternion ON_Quaternion::K
static

◆ Zero

const ON_Quaternion ON_Quaternion::Zero
static

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