#include <rotation.hh>

Public Types | |
| typedef V | argument |
| typedef Function_v2v< void > | category |
| typedef V::coord | coord |
| typedef E | exact_t |
| typedef rotation< n, C > | invert |
| Type of the inverse function. | |
| typedef algebra::h_mat< dim, coord > | matrix |
| typedef void | mutable_result |
| typedef V | result |
Public Member Functions | |
| invert | inv () const |
| Return the invere function. | |
| const matrix & | mat () const |
| V | operator() (const V &x) const |
| algebra::vec< n, C > | operator() (const algebra::vec< n, C > &v) const |
| Perform the rotation of the given vector. | |
| rotation (const algebra::h_mat< n, C > &m) | |
| Constructor with h_mat. | |
| rotation (const algebra::quat &q) | |
| Constructor with quaternion. | |
| rotation (C alpha, const algebra::vec< n, C > &axis) | |
| Constructor with radian alpha and a facultative direction (rotation axis). | |
| rotation () | |
| Constructor without argument. | |
| void | set_alpha (C alpha) |
| Set a new grade alpha. | |
| void | set_axis (const algebra::vec< n, C > &axis) |
| Set a new rotation axis. | |
Static Public Attributes | |
| static const unsigned | dim = V::dim |
Protected Member Functions | |
| bool | check_rotation (const algebra::quat &q) |
| void | update () |
Protected Attributes | |
| C | alpha_ |
| FIXME: Is it useful? | |
| algebra::vec< n, C > | axis_ |
| matrix | m_ |
Definition at line 137 of file rotation.hh.
typedef V mln::fun::internal::x2x_linear_impl_< V, E >::argument [inherited] |
Definition at line 52 of file x2x_linear_impl.hh.
typedef Function_v2v<void> mln::Function_v2v< E >::category [inherited] |
Reimplemented from mln::Function< E >.
Reimplemented in mln::Function_v2b< E >, mln::Function_v2b< f_box2d_t >, mln::Function_v2b< mln::fun::v2b::lnot< V > >, mln::Function_v2b< mln::fun::p2b::antilogy >, mln::Function_v2b< mln::fun::p2b::has< I > >, mln::Function_v2b< mln::fun::p2b::tautology >, mln::Function_v2b< keep_specific_colors >, mln::Function_v2b< my_box2d >, mln::Function_v2b< mln::topo::is_simple_cell< I > >, mln::Function_v2b< mln::world::inter_pixel::dim2::is_edge >, mln::Function_v2b< mln::world::inter_pixel::dim2::is_row_odd >, mln::Function_v2b< mln::world::inter_pixel::dim2::is_pixel >, mln::Function_v2b< mln::fun::v2b::threshold< V > >, mln::Function_v2b< mln::world::inter_pixel::is_separator >, mln::Function_v2b< mln::topo::is_n_face< N > >, mln::Function_v2b< not_to_remove >, mln::Function_v2b< mln::fun::p2b::chess >, mln::Function_v2b< f_box1d_t >, mln::Function_v2b< mln::world::inter_pixel::dim2::is_dot >, mln::Function_v2b< mln::fun::p2b::big_chess< B > >, mln::Function_v2b< mln::world::inter_pixel::is_pixel >, and mln::Function_v2b< f_box3d_t >.
Definition at line 93 of file function.hh.
typedef V::coord mln::fun::internal::x2x_linear_impl_< V, E >::coord [inherited] |
Definition at line 54 of file x2x_linear_impl.hh.
typedef E mln::Object< E >::exact_t [inherited] |
| typedef rotation<n,C> mln::fun::x2x::rotation< n, C >::invert |
typedef algebra::h_mat<dim, coord> mln::fun::internal::x2x_linear_impl_< V, E >::matrix [inherited] |
Definition at line 55 of file x2x_linear_impl.hh.
typedef void mln::Function_v2v< E >::mutable_result [inherited] |
typedef V mln::fun::internal::x2x_linear_impl_< V, E >::result [inherited] |
Definition at line 53 of file x2x_linear_impl.hh.
| mln::fun::x2x::rotation< n, C >::rotation | ( | ) | [inline] |
| mln::fun::x2x::rotation< n, C >::rotation | ( | C | alpha, | |
| const algebra::vec< n, C > & | axis | |||
| ) | [inline] |
Constructor with radian alpha and a facultative direction (rotation axis).
Definition at line 186 of file rotation.hh.
References mln::fun::internal::x2x_linear_impl_< V, E >::m_, and mln::fun::x2x::rotation< n, C >::update().
| mln::fun::x2x::rotation< n, C >::rotation | ( | const algebra::quat & | q | ) | [inline] |
Constructor with quaternion.
Update attributes
Definition at line 196 of file rotation.hh.
References mln::fun::x2x::rotation< n, C >::alpha_, mln::fun::x2x::rotation< n, C >::axis_, mln::fun::x2x::rotation< n, C >::check_rotation(), mln::make::h_mat(), mln::algebra::quat::is_unit(), mln::fun::internal::x2x_linear_impl_< V, E >::m_, mln::algebra::vec< n, T >::normalize(), and mln::algebra::quat::to_vec().
| mln::fun::x2x::rotation< n, C >::rotation | ( | const algebra::h_mat< n, C > & | m | ) | [inline] |
Constructor with h_mat.
Definition at line 227 of file rotation.hh.
References mln::fun::internal::x2x_linear_impl_< V, E >::m_.
| bool mln::fun::x2x::rotation< n, C >::check_rotation | ( | const algebra::quat & | q | ) | [inline, protected] |
Definition at line 291 of file rotation.hh.
References mln::algebra::quat::is_unit(), mln::algebra::quat::rotate(), and mln::make::vec().
Referenced by mln::fun::x2x::rotation< n, C >::rotation().
| rotation< n, C > mln::fun::x2x::rotation< n, C >::inv | ( | ) | const [inline] |
Return the invere function.
Definition at line 254 of file rotation.hh.
References mln::fun::x2x::rotation< n, C >::alpha_, and mln::fun::x2x::rotation< n, C >::axis_.
| const x2x_linear_impl_< V, E >::matrix & mln::fun::internal::x2x_linear_impl_< V, E >::mat | ( | ) | const [inline, inherited] |
Definition at line 85 of file x2x_linear_impl.hh.
References mln::fun::internal::x2x_linear_impl_< V, E >::m_.
| V mln::fun::internal::x2x_linear_impl_< V, E >::operator() | ( | const V & | x | ) | const [inline, inherited] |
Definition at line 57 of file x2x_linear_impl.hh.
| algebra::vec< n, C > mln::fun::x2x::rotation< n, C >::operator() | ( | const algebra::vec< n, C > & | v | ) | const [inline] |
Perform the rotation of the given vector.
Definition at line 236 of file rotation.hh.
References mln::fun::internal::x2x_linear_impl_< V, E >::m_.
| void mln::fun::x2x::rotation< n, C >::set_alpha | ( | C | alpha | ) | [inline] |
Set a new grade alpha.
Definition at line 263 of file rotation.hh.
References mln::fun::x2x::rotation< n, C >::alpha_, and mln::fun::x2x::rotation< n, C >::update().
| void mln::fun::x2x::rotation< n, C >::set_axis | ( | const algebra::vec< n, C > & | axis | ) | [inline] |
Set a new rotation axis.
Definition at line 272 of file rotation.hh.
References mln::fun::x2x::rotation< n, C >::axis_, and mln::fun::x2x::rotation< n, C >::update().
| void mln::fun::x2x::rotation< n, C >::update | ( | ) | [inline, protected] |
Definition at line 283 of file rotation.hh.
References mln::fun::x2x::rotation< n, C >::alpha_, mln::fun::x2x::rotation< n, C >::axis_, mln::fun::x2x::internal::get_rot_h_mat(), and mln::fun::internal::x2x_linear_impl_< V, E >::m_.
Referenced by mln::fun::x2x::rotation< n, C >::rotation(), mln::fun::x2x::rotation< n, C >::set_alpha(), and mln::fun::x2x::rotation< n, C >::set_axis().
C mln::fun::x2x::rotation< n, C >::alpha_ [protected] |
FIXME: Is it useful?
Definition at line 171 of file rotation.hh.
Referenced by mln::fun::x2x::rotation< n, C >::inv(), mln::fun::x2x::rotation< n, C >::rotation(), mln::fun::x2x::rotation< n, C >::set_alpha(), and mln::fun::x2x::rotation< n, C >::update().
algebra::vec<n,C> mln::fun::x2x::rotation< n, C >::axis_ [protected] |
Definition at line 172 of file rotation.hh.
Referenced by mln::fun::x2x::rotation< n, C >::inv(), mln::fun::x2x::rotation< n, C >::rotation(), mln::fun::x2x::rotation< n, C >::set_axis(), and mln::fun::x2x::rotation< n, C >::update().
const unsigned mln::fun::internal::x2x_linear_impl_< V, E >::dim = V::dim [static, inherited] |
Definition at line 50 of file x2x_linear_impl.hh.
matrix mln::fun::internal::x2x_linear_impl_< V, E >::m_ [protected, inherited] |
Definition at line 68 of file x2x_linear_impl.hh.
Referenced by mln::fun::internal::x2x_linear_impl_< V, E >::mat(), mln::fun::internal::x2x_linear_impl_< T2::result, E >::operator()(), mln::fun::x2x::rotation< n, C >::operator()(), mln::fun::x2x::rotation< n, C >::rotation(), mln::fun::x2x::translation< n, C >::update(), and mln::fun::x2x::rotation< n, C >::update().
1.5.6