$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::fun::x2x::rotation< n, C > Struct Template Reference

#include <mln/fun/x2x/rotation.hh>

Public Member Functions

 rotation ()
 rotation (const C &alpha, const algebra::vec< n, C > &axis=literal::zero)
 rotation (const algebra::quat &q)
 rotation (const algebra::h_mat< n, C > &m)
invert inv () const
const matrixmat () const
algebra::vec< n, C > operator() (const algebra::vec< n, C > &v) const

Static Public Attributes

static const unsigned dim

Protected Member Functions

bool check_rotation (const algebra::quat &q)
void update (const C &alpha, const algebra::vec< n, C > &axis)

Protected Attributes

matrix m_

Public Types

typedef algebra::vec< n, C > argument
typedef Function_v2v< void > category
typedef C data_t
typedef rotation< n, C > exact_t
typedef rotation< n, C > invert
typedef algebra::h_mat< dim, C > matrix
typedef void mutable_result
typedef algebra::vec< n, C > result

Detailed Description

template<unsigned n, typename C>
struct mln::fun::x2x::rotation< n, C >

Represent a rotation function.

Definition at line 151 of file rotation.hh.

Constructor & Destructor Documentation

template<unsigned n, typename C>
mln::fun::x2x::rotation< n, C >::rotation ( )

Constructor without argument.

template<unsigned n, typename C>
mln::fun::x2x::rotation< n, C >::rotation ( const C &  alpha,
const algebra::vec< n, C > &  axis = literal::zero 
)

Constructor with radian alpha and an optional direction (rotation axis).

template<unsigned n, typename C>
mln::fun::x2x::rotation< n, C >::rotation ( const algebra::quat q)

Constructor with quaternion.

template<unsigned n, typename C>
mln::fun::x2x::rotation< n, C >::rotation ( const algebra::h_mat< n, C > &  m)

Constructor with h_mat.

Member Function Documentation

template<unsigned n, typename C>
bool mln::fun::x2x::rotation< n, C >::check_rotation ( const algebra::quat q)
protected
template<unsigned n, typename C>
invert mln::fun::x2x::rotation< n, C >::inv ( ) const

Return the inverse function.

const matrix& mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::mat ( ) const
inherited
template<unsigned n, typename C>
algebra::vec<n,C> mln::fun::x2x::rotation< n, C >::operator() ( const algebra::vec< n, C > &  v) const

Perform the rotation of the given vector.

Reimplemented from mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C >, C, rotation< n, C > >.

template<unsigned n, typename C>
void mln::fun::x2x::rotation< n, C >::update ( const C &  alpha,
const algebra::vec< n, C > &  axis 
)
protected

Member Data Documentation

const unsigned mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::dim
staticinherited

Definition at line 51 of file x2x_linear_impl.hh.

matrix mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::m_
protectedinherited

Definition at line 68 of file x2x_linear_impl.hh.

Member Typedef Documentation

typedef algebra::vec< n, C > mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::argument
inherited

Definition at line 53 of file x2x_linear_impl.hh.

typedef Function_v2v<void> mln::Function_v2v< rotation< n, C > >::category
inherited

Definition at line 134 of file function.hh.

template<unsigned n, typename C>
typedef C mln::fun::x2x::rotation< n, C >::data_t

Type of the underlying data stored in vectors and matrices.

Definition at line 156 of file rotation.hh.

typedef rotation< n, C > mln::Object< rotation< n, C > >::exact_t
inherited

Definition at line 105 of file object.hh.

template<unsigned n, typename C>
typedef rotation<n,C> mln::fun::x2x::rotation< n, C >::invert

Type of the inverse function.

Definition at line 159 of file rotation.hh.

typedef algebra::h_mat<dim, C> mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::matrix
inherited

Definition at line 55 of file x2x_linear_impl.hh.

typedef void mln::Function_v2v< rotation< n, C > >::mutable_result
inherited

Definition at line 135 of file function.hh.

typedef algebra::vec< n, C > mln::fun::internal::x2x_linear_impl_< algebra::vec< n, C > , C, rotation< n, C > >::result
inherited

Definition at line 54 of file x2x_linear_impl.hh.