#include <quaternion_expr.h>
Public Types | |
enum | { array_size = ExprT::array_size } |
Record result size as an enum. More... | |
enum | { W = order_type::W, X = order_type::X, Y = order_type::Y, Z = order_type::Z } |
Localize the ordering as an enum. More... | |
typedef cml::et::not_assignable_tag | assignable_tag |
typedef unary_expression | expr_ary |
typedef expr_type | expr_const_reference |
typedef expr_traits::const_reference | expr_reference |
typedef ExprTraits< ExprT > | expr_traits |
typedef UnaryQuaternionOp < ExprT, OpT > | 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 OpT::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 this 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. | |
value_type | real () const |
Return the real part of the expression. | |
size_t | size () const |
Return size of this expression (same as argument's size). | |
UnaryQuaternionOp (const expr_type &e) | |
Copy constructor. | |
UnaryQuaternionOp (expr_reference expr) | |
Construct from the subexpression. | |
Protected Attributes | |
expr_reference | m_expr |
Private Member Functions | |
expr_type & | operator= (const expr_type &) |
The operator's operator() method must take exactly one argument.
Definition at line 190 of file quaternion_expr.h.
typedef cml::et::not_assignable_tag cml::et::UnaryQuaternionOp< ExprT, OpT >::assignable_tag |
Definition at line 216 of file quaternion_expr.h.
typedef unary_expression cml::et::UnaryQuaternionOp< ExprT, OpT >::expr_ary |
Definition at line 197 of file quaternion_expr.h.
typedef expr_type cml::et::UnaryQuaternionOp< ExprT, OpT >::expr_const_reference |
Definition at line 200 of file quaternion_expr.h.
typedef expr_traits::const_reference cml::et::UnaryQuaternionOp< ExprT, OpT >::expr_reference |
Definition at line 210 of file quaternion_expr.h.
typedef ExprTraits<ExprT> cml::et::UnaryQuaternionOp< ExprT, OpT >::expr_traits |
Definition at line 207 of file quaternion_expr.h.
typedef UnaryQuaternionOp<ExprT,OpT> cml::et::UnaryQuaternionOp< ExprT, OpT >::expr_type |
Definition at line 194 of file quaternion_expr.h.
typedef vector_type::subvector_type cml::et::UnaryQuaternionOp< ExprT, OpT >::imaginary_type |
Definition at line 225 of file quaternion_expr.h.
typedef result_type::order_type cml::et::UnaryQuaternionOp< ExprT, OpT >::order_type |
Definition at line 228 of file quaternion_expr.h.
typedef quaternion_result_tag cml::et::UnaryQuaternionOp< ExprT, OpT >::result_tag |
Definition at line 203 of file quaternion_expr.h.
typedef expr_traits::result_type cml::et::UnaryQuaternionOp< ExprT, OpT >::result_type |
Definition at line 213 of file quaternion_expr.h.
typedef ExprT::size_tag cml::et::UnaryQuaternionOp< ExprT, OpT >::size_tag |
Definition at line 204 of file quaternion_expr.h.
typedef result_type::temporary_type cml::et::UnaryQuaternionOp< ExprT, OpT >::temporary_type |
Definition at line 219 of file quaternion_expr.h.
typedef OpT::value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::value_type |
Definition at line 202 of file quaternion_expr.h.
typedef result_type::vector_type cml::et::UnaryQuaternionOp< ExprT, OpT >::vector_type |
Definition at line 222 of file quaternion_expr.h.
anonymous enum |
anonymous enum |
cml::et::UnaryQuaternionOp< ExprT, OpT >::UnaryQuaternionOp | ( | expr_reference | expr | ) | [inline, explicit] |
cml::et::UnaryQuaternionOp< ExprT, OpT >::UnaryQuaternionOp | ( | const expr_type & | e | ) | [inline] |
temporary_type cml::et::UnaryQuaternionOp< ExprT, OpT >::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 300 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::imaginary(), and cml::et::UnaryQuaternionOp< ExprT, OpT >::length().
expr_reference cml::et::UnaryQuaternionOp< ExprT, OpT >::expression | ( | ) | const [inline] |
Return reference to contained expression.
Definition at line 331 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::m_expr.
imaginary_type cml::et::UnaryQuaternionOp< ExprT, OpT >::imaginary | ( | ) | const [inline] |
Return the vector part of the expression.
Definition at line 253 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::X, cml::et::UnaryQuaternionOp< ExprT, OpT >::Y, and cml::et::UnaryQuaternionOp< ExprT, OpT >::Z.
Referenced by cml::et::UnaryQuaternionOp< ExprT, OpT >::exp(), and cml::et::UnaryQuaternionOp< ExprT, OpT >::log().
value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::length | ( | ) | const [inline] |
Return the quaternion length.
Definition at line 272 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::length_squared().
Referenced by cml::et::UnaryQuaternionOp< ExprT, OpT >::exp().
value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::length_squared | ( | ) | const [inline] |
Return square of the quaternion length.
Definition at line 265 of file quaternion_expr.h.
References cml::dot().
Referenced by cml::et::UnaryQuaternionOp< ExprT, OpT >::length(), and cml::et::UnaryQuaternionOp< ExprT, OpT >::norm().
temporary_type cml::et::UnaryQuaternionOp< ExprT, OpT >::log | ( | value_type | tolerance = epsilon<value_type>::placeholder() |
) | const [inline] |
Return the log of this expression.
Definition at line 283 of file quaternion_expr.h.
References cml::acos_safe(), cml::et::UnaryQuaternionOp< ExprT, OpT >::imaginary(), and cml::et::UnaryQuaternionOp< ExprT, OpT >::real().
value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::norm | ( | ) | const [inline] |
Return the Cayley norm of the expression.
Definition at line 260 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::length_squared().
temporary_type cml::et::UnaryQuaternionOp< ExprT, OpT >::normalize | ( | ) | const [inline] |
expr_type& cml::et::UnaryQuaternionOp< ExprT, OpT >::operator= | ( | const expr_type & | ) | [private] |
value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::operator[] | ( | size_t | i | ) | const [inline] |
Compute value at index i of the result quaternion.
Definition at line 314 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::m_expr.
value_type cml::et::UnaryQuaternionOp< ExprT, OpT >::real | ( | ) | const [inline] |
Return the real part of the expression.
Definition at line 248 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::W.
Referenced by cml::et::UnaryQuaternionOp< ExprT, OpT >::log().
size_t cml::et::UnaryQuaternionOp< ExprT, OpT >::size | ( | ) | const [inline] |
Return size of this expression (same as argument's size).
Definition at line 326 of file quaternion_expr.h.
References cml::et::UnaryQuaternionOp< ExprT, OpT >::m_expr.
Referenced by cml::et::ExprTraits< UnaryQuaternionOp< ExprT, OpT > >::size().
expr_reference cml::et::UnaryQuaternionOp< ExprT, OpT >::m_expr [protected] |
Definition at line 345 of file quaternion_expr.h.
Referenced by cml::et::UnaryQuaternionOp< ExprT, OpT >::expression(), cml::et::UnaryQuaternionOp< ExprT, OpT >::operator[](), and cml::et::UnaryQuaternionOp< ExprT, OpT >::size().