Index

C++ Code Documentation

template <class A> math::Quaternion

File: BASE/math/Quaternion.H

Quaternions.

public:
  • typedef A Real;
  • inline Quaternion();
  • inline Quaternion( A, A, A, A );
  • inline Quaternion( A );
  • inline Quaternion<A> &operator=( Quaternion<A> const &);
  • inline Quaternion<A> &operator=( A );
  • inline A &r();
  • inline A &i();
  • inline A &j();
  • inline A &k();
  • inline A const &r() const;
  • inline A const &i() const;
  • inline A const &j() const;
  • inline A const &k() const;
  • inline void r( A r );
  • inline void i( A i );
  • inline void j( A j );
  • inline void k( A k );
  • friend A real NULL_TMPL_ARGS (Quaternion<A> const &);
  • friend A norm NULL_TMPL_ARGS (Quaternion<A> const &);
  • friend A abs NULL_TMPL_ARGS (Quaternion<A> const &);
  • friend Quaternion<A> conj NULL_TMPL_ARGS (Quaternion<A> const &);
  • friend Quaternion<A> inv NULL_TMPL_ARGS (Quaternion<A> const &a);
  • friend Quaternion<A> operator+ NULL_TMPL_ARGS (Quaternion<A> const &, Quaternion<A> const &);
  • friend Quaternion<A> operator+ NULL_TMPL_ARGS (A, Quaternion<A> const &);
  • friend Quaternion<A> operator- NULL_TMPL_ARGS (Quaternion<A> const &);
  • friend Quaternion<A> operator- NULL_TMPL_ARGS (Quaternion<A> const &, Quaternion<A> const &);
  • friend Quaternion<A> operator* NULL_TMPL_ARGS (Quaternion<A> const &, Quaternion<A> const &);
  • friend Quaternion<A> operator* NULL_TMPL_ARGS (A, Quaternion<A> const &);
  • friend Quaternion<A> operator* NULL_TMPL_ARGS (Quaternion<A> const &, A);
  • friend Quaternion<A> operator/ NULL_TMPL_ARGS (Quaternion<A> const &, A);
  • friend Quaternion<A> operator/ NULL_TMPL_ARGS (A, Quaternion<A> const & );
  • friend int operator== NULL_TMPL_ARGS (Quaternion<A> const &, Quaternion<A> const &);
  • friend int operator!= NULL_TMPL_ARGS (Quaternion<A> const &, Quaternion<A> const &);
  • inline void neg();
  • inline void neg( Quaternion<A> const &a );
  • inline void inv();
  • inline void inv( Quaternion<A> const &a );
  • inline void add( Quaternion<A> const &a, Quaternion<A> const &b );
  • inline void add( Quaternion<A> const &a );
  • inline void sub( Quaternion<A> const &a, Quaternion<A> const &b );
  • inline void sub( Quaternion<A> const &a );
  • inline void mul( Quaternion<A> const &, Quaternion<A> const &);
  • inline void mul( Quaternion<A> const & );
  • inline void mulleft( Quaternion<A> const & );
  • inline void div( Quaternion<A> const &, Quaternion<A> const &);
  • inline void div( Quaternion<A> const & );
  • inline void operator+=(Quaternion<A> const &);
  • inline void operator-=(Quaternion<A> const &);
  • inline void operator*=(Quaternion<A> const &);
  • inline void operator*=(A);
  • inline void operator/=(Quaternion<A> const &);
  • inline void operator/=(A);
  • void rotation_matrix( A * ) const;
    get rotation matrix from *this
  • void rotation_matrix4( A * ) const;
    get 4-by-4 rotation matrix from *this
  • inline void from_angle_axis( A, A, A, A );
    set *this from an angle and axis
  • inline void to_angle_axis( A &, A &, A &, A & );
  • enum Uninitialized;
  • inline Quaternion( Uninitialized );
  • friend std::ostream &operator<< NULL_TMPL_ARGS ( std::ostream &, Quaternion<A> const &);
  • A _w;
  • A _x;
  • A _y;
  • A _z;
protected:
private:


template <class A> math::Quaternion GANG