The spica renderer
Public Member Functions | Static Public Member Functions | List of all members
spica::Quaternion Class Reference

Quaternion. More...

#include <quaternion.h>

Public Member Functions

 Quaternion ()
 The Quaternion constructor.
 
 Quaternion (double x, double y, double z, double w=0.0)
 The Quaternion constructor. More...
 
 Quaternion (const Vector3d &v)
 The Quaternion constructor. More...
 
 Quaternion (const Quaternion &q)
 The Quaternion constructor (copy).
 
 ~Quaternion ()
 The Quaternion destructor.
 
Quaternionoperator= (const Quaternion &q)
 Assignment operator.
 
Quaternionoperator*= (const Quaternion &q)
 Multiplication operator.
 
Vector3d applyTo (const Vector3d &v)
 Apply transformation of quaternion to the vector.
 
Point3d applyTo (const Point3d &p)
 
Normal3d applyTo (const Normal3d &n)
 
double squaredNorm () const
 Squared norm.
 
double norm () const
 Norm.
 
Quaternion inverse () const
 Inverse quarternion.
 
Vector3d toVector3d () const
 Extract imaginary parts as a three-dimensional vector.
 
std::string toString () const
 Convert to string.
 
double x () const
 The first imaginary part. More...
 
double y () const
 The second imaginary part. More...
 
double z () const
 The third imaginary part. More...
 
double w () const
 The real part. More...
 

Static Public Member Functions

static Quaternion rotation (const Vector3d &axis, double theta)
 Make instance from rotation angle. More...
 

Detailed Description

Quaternion.

Constructor & Destructor Documentation

spica::Quaternion::Quaternion ( double  x,
double  y,
double  z,
double  w = 0.0 
)

The Quaternion constructor.

Parameters
xThe first imaginary part.
yThe second imaginary part.
zThe third imaginary part.
wThe real part.
spica::Quaternion::Quaternion ( const Vector3d v)
explicit

The Quaternion constructor.

Parameters
vThe three-dimensional vector for imaginary parts.

Member Function Documentation

Quaternion spica::Quaternion::rotation ( const Vector3d axis,
double  theta 
)
static

Make instance from rotation angle.

Parameters
axisRotation axis
thetaRotation angle by radii
double spica::Quaternion::w ( ) const
inline

The real part.

double spica::Quaternion::x ( ) const
inline

The first imaginary part.

double spica::Quaternion::y ( ) const
inline

The second imaginary part.

double spica::Quaternion::z ( ) const
inline

The third imaginary part.


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