ACG::QuaternionT< Scalar > Class Template Reference

#include <QuaternionT.hh>

Inheritance diagram for ACG::QuaternionT< Scalar >:
Inheritance graph
[legend]
Collaboration diagram for ACG::QuaternionT< Scalar >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef VectorT< Scalar, 4 > Base
typedef QuaternionT< Scalar > Quaternion
typedef VectorT< Scalar, 3 > Vec3
typedef VectorT< Scalar, 4 > Vec4
typedef Matrix4x4T< Scalar > Matrix

Public Member Functions

 QuaternionT (Scalar _w=1.0, Scalar _x=0.0, Scalar _y=0.0, Scalar _z=0.0)
 construct from 4 Scalars (default)
 QuaternionT (const Vec3 &_p)
 construct from 3D point (pure imaginary quaternion)
 QuaternionT (const Vec4 &_p)
 construct from 4D vector
 QuaternionT (Vec3 _axis, Scalar _angle)
 construct from rotation axis and angle (in radians)
template<class MatrixT >
 QuaternionT (const MatrixT &_rot)
 construct from rotation matrix (only valid for rotation matrices!)
void identity ()
 identity rotation
Quaternion conjugate () const
 conjugate quaternion
Quaternion invert () const
 invert quaternion
Quaternion operator* (const Quaternion &_q) const
 quaternion * quaternion
Quaternionoperator*= (const Quaternion &_q)
 quaternion *= quaternion
Vec3 rotate (const Vec3 &_v)
 rotate vector
void axis_angle (Vec3 &_axis, Scalar &_angle) const
 get rotation axis and angle (only valid for unit quaternions!)
Matrix rotation_matrix () const
 cast to rotation matrix
Matrix right_mult_matrix () const
 get matrix for mult from right (Qr = q*r)
Matrix left_mult_matrix () const
 get matrix for mult from left (lQ = l*q)
template<class MatrixT >
void init_from_matrix (const MatrixT &_rot)
 get quaternion from rotation matrix
Quaternion exponential () const
 quaternion exponential (for unit quaternions)
Quaternion logarithm () const
 quaternion logarithm (for unit quaternions)

Detailed Description

template<class Scalar>
class ACG::QuaternionT< Scalar >

Quaternion class for representing rotations.

Definition at line 74 of file QuaternionT.hh.


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

acg pic Project OpenFlipper, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .