cml::et::QuaternionXpr< ExprT > Class Template Reference

A placeholder for a quaternion expression in an expression tree. More...

#include <quaternion_expr.h>

Collaboration diagram for cml::et::QuaternionXpr< ExprT >:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { array_size = ExprT::array_size }
 Record result size as an enum. More...
typedef cml::et::not_assignable_tag assignable_tag
typedef result_type::cross_type cross_type
typedef ExprT::expr_ary expr_ary
typedef expr_type expr_const_reference
typedef
expr_traits::const_reference 
expr_reference
typedef ExprTraits< ExprT > expr_traits
typedef QuaternionXpr< ExprT > expr_type
typedef vector_type::subvector_type imaginary_type
typedef result_type::order_type order_type
typedef quaternion_result_tag result_tag
typedef expr_traits::result_type result_type
typedef ExprT::size_tag size_tag
typedef result_type::temporary_type temporary_type
typedef ExprT::value_type value_type
typedef result_type::vector_type vector_type

Public Member Functions

temporary_type exp (value_type tolerance=epsilon< value_type >::placeholder()) const
 Return the result of the exponential function as applied to this expression.
expr_reference expression () const
 Return reference to contained expression.
imaginary_type imaginary () const
 Return the vector part of the expression.
value_type length () const
 Return the quaternion length.
value_type length_squared () const
 Return square of the quaternion length.
temporary_type log (value_type tolerance=epsilon< value_type >::placeholder()) const
 Return the log of the expression.
value_type norm () const
 Return the Cayley norm of the expression.
temporary_type normalize () const
 Return the result as a normalized quaternion.
value_type operator[] (size_t i) const
 Compute value at index i of the result quaternion.
 QuaternionXpr (const expr_type &e)
 Copy constructor.
 QuaternionXpr (expr_reference expr)
 Construct from the subexpression to store.
value_type real () const
 Return the real part of the expression.
size_t size () const
 Return size of this expression (same as subexpression's size).

Protected Attributes

expr_reference m_expr

Private Member Functions

expr_typeoperator= (const expr_type &)


Detailed Description

template<class ExprT>
class cml::et::QuaternionXpr< ExprT >

A placeholder for a quaternion expression in an expression tree.

Definition at line 30 of file quaternion_expr.h.


Member Typedef Documentation

template<class ExprT>
typedef cml::et::not_assignable_tag cml::et::QuaternionXpr< ExprT >::assignable_tag

Definition at line 62 of file quaternion_expr.h.

template<class ExprT>
typedef result_type::cross_type cml::et::QuaternionXpr< ExprT >::cross_type

Definition at line 71 of file quaternion_expr.h.

template<class ExprT>
typedef ExprT::expr_ary cml::et::QuaternionXpr< ExprT >::expr_ary

Definition at line 37 of file quaternion_expr.h.

template<class ExprT>
typedef expr_type cml::et::QuaternionXpr< ExprT >::expr_const_reference

Definition at line 40 of file quaternion_expr.h.

template<class ExprT>
typedef expr_traits::const_reference cml::et::QuaternionXpr< ExprT >::expr_reference

Definition at line 50 of file quaternion_expr.h.

template<class ExprT>
typedef ExprTraits<ExprT> cml::et::QuaternionXpr< ExprT >::expr_traits

Definition at line 47 of file quaternion_expr.h.

template<class ExprT>
typedef QuaternionXpr<ExprT> cml::et::QuaternionXpr< ExprT >::expr_type

Definition at line 34 of file quaternion_expr.h.

template<class ExprT>
typedef vector_type::subvector_type cml::et::QuaternionXpr< ExprT >::imaginary_type

Definition at line 59 of file quaternion_expr.h.

template<class ExprT>
typedef result_type::order_type cml::et::QuaternionXpr< ExprT >::order_type

Definition at line 68 of file quaternion_expr.h.

template<class ExprT>
typedef quaternion_result_tag cml::et::QuaternionXpr< ExprT >::result_tag

Definition at line 43 of file quaternion_expr.h.

template<class ExprT>
typedef expr_traits::result_type cml::et::QuaternionXpr< ExprT >::result_type

Definition at line 53 of file quaternion_expr.h.

template<class ExprT>
typedef ExprT::size_tag cml::et::QuaternionXpr< ExprT >::size_tag

Definition at line 44 of file quaternion_expr.h.

template<class ExprT>
typedef result_type::temporary_type cml::et::QuaternionXpr< ExprT >::temporary_type

Definition at line 65 of file quaternion_expr.h.

template<class ExprT>
typedef ExprT::value_type cml::et::QuaternionXpr< ExprT >::value_type

Definition at line 42 of file quaternion_expr.h.

template<class ExprT>
typedef result_type::vector_type cml::et::QuaternionXpr< ExprT >::vector_type

Definition at line 56 of file quaternion_expr.h.


Member Enumeration Documentation

template<class ExprT>
anonymous enum

Record result size as an enum.

Enumerator:
array_size 

Definition at line 77 of file quaternion_expr.h.


Constructor & Destructor Documentation

template<class ExprT>
cml::et::QuaternionXpr< ExprT >::QuaternionXpr ( expr_reference  expr  )  [inline, explicit]

Construct from the subexpression to store.

Definition at line 149 of file quaternion_expr.h.

template<class ExprT>
cml::et::QuaternionXpr< ExprT >::QuaternionXpr ( const expr_type e  )  [inline]

Copy constructor.

Definition at line 152 of file quaternion_expr.h.


Member Function Documentation

template<class ExprT>
temporary_type cml::et::QuaternionXpr< ExprT >::exp ( value_type  tolerance = epsilon<value_type>::placeholder()  )  const [inline]

Return the result of the exponential function as applied to this expression.

Definition at line 123 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
expr_reference cml::et::QuaternionXpr< ExprT >::expression (  )  const [inline]

Return reference to contained expression.

Definition at line 143 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
imaginary_type cml::et::QuaternionXpr< ExprT >::imaginary (  )  const [inline]

Return the vector part of the expression.

Definition at line 88 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

Referenced by cml::imaginary().

Here is the caller graph for this function:

template<class ExprT>
value_type cml::et::QuaternionXpr< ExprT >::length (  )  const [inline]

Return the quaternion length.

Definition at line 103 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
value_type cml::et::QuaternionXpr< ExprT >::length_squared (  )  const [inline]

Return square of the quaternion length.

Definition at line 98 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
temporary_type cml::et::QuaternionXpr< ExprT >::log ( value_type  tolerance = epsilon<value_type>::placeholder()  )  const [inline]

Return the log of the expression.

Definition at line 113 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
value_type cml::et::QuaternionXpr< ExprT >::norm (  )  const [inline]

Return the Cayley norm of the expression.

Definition at line 93 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
temporary_type cml::et::QuaternionXpr< ExprT >::normalize (  )  const [inline]

Return the result as a normalized quaternion.

Definition at line 108 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
expr_type& cml::et::QuaternionXpr< ExprT >::operator= ( const expr_type  )  [private]

template<class ExprT>
value_type cml::et::QuaternionXpr< ExprT >::operator[] ( size_t  i  )  const [inline]

Compute value at index i of the result quaternion.

Definition at line 130 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

template<class ExprT>
value_type cml::et::QuaternionXpr< ExprT >::real (  )  const [inline]

Return the real part of the expression.

Definition at line 83 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

Referenced by cml::real().

Here is the caller graph for this function:

template<class ExprT>
size_t cml::et::QuaternionXpr< ExprT >::size (  )  const [inline]

Return size of this expression (same as subexpression's size).

Definition at line 138 of file quaternion_expr.h.

References cml::et::QuaternionXpr< ExprT >::m_expr.

Referenced by cml::et::ExprTraits< QuaternionXpr< ExprT > >::size().

Here is the caller graph for this function:


Member Data Documentation

template<class ExprT>
expr_reference cml::et::QuaternionXpr< ExprT >::m_expr [protected]


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

Generated on Sat Jul 18 19:35:39 2009 for CML 1.0 by  doxygen 1.5.9