Go to the documentation of this file.
14 #ifndef _QUATERNION_HPP
15 #define _QUATERNION_HPP
62 if (&q ==
this)
return *
this;
118 return !(*
this == q);
314 return (v *= (2*acos(this->
scalar)/v.
norm()));
322 #endif // _QUATERNION_HPP
double scalar
Definition: Quaternion.h:33
QUATERNION_INLINE std::ostream & operator<<(std::ostream &co, const Quaternion &q)
Definition: Quaternion.hpp:78
QUATERNION_INLINE Quaternion operator+(const Quaternion &) const
Definition: Quaternion.hpp:129
QUATERNION_INLINE double return_sca() const
Definition: Quaternion.h:81
int len(const boost::python::object &pyOb)
Definition: Util.h:30
QUATERNION_INLINE double length() const
Definition: Quaternion.hpp:267
QUATERNION_INLINE friend Quaternion operator*(double, const Quaternion &)
Definition: Quaternion.hpp:162
VEC3_INLINE double dot(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:196
QUATERNION_INLINE Quaternion & operator+=(const Quaternion &)
Definition: Quaternion.hpp:207
QUATERNION_INLINE Quaternion operator-() const
Definition: Quaternion.hpp:151
QUATERNION_INLINE Vec3 asAngleAxis() const
Definition: Quaternion.hpp:311
QUATERNION_INLINE bool operator!=(const Quaternion &) const
Definition: Quaternion.hpp:116
QUATERNION_INLINE Quaternion operator/(const Quaternion &) const
Definition: Quaternion.hpp:202
QUATERNION_INLINE Quaternion & operator/=(const Quaternion &)
Definition: Quaternion.hpp:242
QUATERNION_INLINE Quaternion & operator*=(double)
Definition: Quaternion.hpp:223
#define QUATERNION_INLINE
Definition: Quaternion.h:19
VEC3_INLINE Vec3 cross(const Vec3 &lhs, const Vec3 &rhs)
Definition: vec3.hpp:187
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
VEC3_INLINE double & X()
Definition: vec3.h:119
QUATERNION_INLINE void normalize()
Definition: Quaternion.hpp:256
VEC3_INLINE double & Z()
Definition: vec3.h:121
QUATERNION_INLINE bool operator==(const Quaternion &) const
Definition: Quaternion.hpp:106
QUATERNION_INLINE Matrix3 to_matrix() const
Definition: Quaternion.hpp:273
QUATERNION_INLINE Quaternion inverse() const
Definition: Quaternion.hpp:197
VEC3_INLINE double & Y()
Definition: vec3.h:120
QUATERNION_INLINE Quaternion()
Definition: Quaternion.hpp:33
std::pair< double, Vec3 > AngleAxisPair
Definition: Quaternion.h:96
Definition: Quaternion.h:30
QUATERNION_INLINE Quaternion & operator-=(const Quaternion &)
Definition: Quaternion.hpp:215
Vec3 vector
Definition: Quaternion.h:32
QUATERNION_INLINE std::ostream & output(std::ostream &) const
Definition: Quaternion.hpp:88
3x3 Matrix
Definition: Matrix3.h:48
QUATERNION_INLINE Quaternion & operator=(const Quaternion &)
Definition: Quaternion.hpp:59
QUATERNION_INLINE Quaternion operator*(double c, const Quaternion &q)
Definition: Quaternion.hpp:162
QUATERNION_INLINE Vec3 return_vec() const
Definition: Quaternion.h:80
QUATERNION_INLINE std::istream & operator>>(std::istream &ci, Quaternion &q)
Definition: Quaternion.hpp:83
QUATERNION_INLINE AngleAxisPair asAngleAxisPair() const
Definition: Quaternion.hpp:317
QUATERNION_INLINE std::istream & input(std::istream &ci)
Definition: Quaternion.hpp:97