| Rosetta
    | 
Unit quaternion 3-D orientation representation. More...
#include <Quaternion.fwd.hh>
| Public Types | |
| typedef T | Value | 
| typedef T & | Reference | 
| typedef T const & | ConstReference | 
| typedef T * | Pointer | 
| typedef T const * | ConstPointer | 
| typedef T | value_type | 
| typedef T & | reference | 
| typedef T const & | const_reference | 
| typedef T * | pointer | 
| typedef T const * | const_pointer | 
| typedef NumericTraits< T > | Traits | 
| typedef xyzVector< T > | Axis | 
| Public Member Functions | |
| Quaternion () | |
| Default constructor.  More... | |
| Quaternion (Value const &w_a, Value const &x_a, Value const &y_a, Value const &z_a, bool const precise=true) | |
| Coordinate constructor.  More... | |
| Quaternion (Quaternion const &q) | |
| Copy constructor.  More... | |
| ~Quaternion () | |
| Destructor.  More... | |
| Quaternion & | operator= (Quaternion const &q) | 
| Value const & | w () const | 
| w  More... | |
| Value const & | x () const | 
| x  More... | |
| Value const & | y () const | 
| y  More... | |
| Value const & | z () const | 
| z  More... | |
| Value | w_squared () const | 
| w squared  More... | |
| Value | x_squared () const | 
| x squared  More... | |
| Value | y_squared () const | 
| y squared  More... | |
| Value | z_squared () const | 
| z squared  More... | |
| Value | norm () const | 
| Norm: Should be one.  More... | |
| Value | norm_squared () const | 
| Norm squared: Should be one.  More... | |
| Value | norm_error () const | 
| Norm error.  More... | |
| Value | norm_squared_error () const | 
| Norm squared error.  More... | |
| Value | magnitude () const | 
| Magnitude: Should be one.  More... | |
| Value | magnitude_squared () const | 
| Magnitude squared: Should be one.  More... | |
| Value | magnitude_error () const | 
| Magnitude error.  More... | |
| Value | magnitude_squared_error () const | 
| Magnitude squared error.  More... | |
| bool | is_normalized (Value const &tol=Traits::quaternion_tolerance()) const | 
| Magnitude squared error within tolerance?  More... | |
| bool | not_normalized (Value const &tol=Traits::quaternion_tolerance()) const | 
| Magnitude squared error exceeds tolerance?  More... | |
| Value | angle () const | 
| Principal angle of rotation (on [0,2*pi])  More... | |
| Axis | axis () const | 
| Axis of Rotation unit vector (direction for angle on [0,2*pi])  More... | |
| Axis & | axis (Axis &u) const | 
| Axis of rotation unit vector: Passed vector (direction for angle on [0,2*pi])  More... | |
| Value | dot (Quaternion const &q) const | 
| Dot product.  More... | |
| Value | dot_product (Quaternion const &q) const | 
| Dot product.  More... | |
| Quaternion & | normalize () | 
| Normalize.  More... | |
| Quaternion & | normalize_if_needed (Value const &tol=Traits::quaternion_tolerance()) | 
| Normalize if magnitude squared error exceeds tolerance.  More... | |
| Quaternion & | to_identity () | 
| Identity.  More... | |
| Quaternion & | conjugate () | 
| Conjugate.  More... | |
| Quaternion & | invert () | 
| Invert.  More... | |
| Quaternion & | apply (Quaternion const &q, bool const precise=true) | 
| Apply a successive Quaternion.  More... | |
| Quaternion & | left_multiply_by (Quaternion const &q, bool const precise=true) | 
| Left multiply by a Quaternion.  More... | |
| Quaternion & | right_multiply_by (Quaternion const &q, bool const precise=true) | 
| Right multiply by a Quaternion.  More... | |
| Quaternion & | left_multiply_by_inverse_of (Quaternion const &q, bool const precise=true) | 
| Left multiply by the inverse of a Quaternion.  More... | |
| Quaternion & | right_multiply_by_inverse_of (Quaternion const &q, bool const precise=true) | 
| Right multiply by the inverse of a Quaternion.  More... | |
| void | swap (Quaternion &q) | 
| Swap.  More... | |
| Quaternion | conjugated () const | 
| Conjugated.  More... | |
| Quaternion | inverse () const | 
| Inverse.  More... | |
| Static Public Member Functions | |
| static Quaternion | identity () | 
| Identity named constructor.  More... | |
| static Quaternion const & | I () | 
| Identity Quaternion for expressions.  More... | |
| Private Attributes | |
| Value | w_ | 
| w coordinate  More... | |
| Value | x_ | 
| x coordinate  More... | |
| Value | y_ | 
| y coordinate  More... | |
| Value | z_ | 
| z coordinate  More... | |
| Friends | |
| class | BodyPosition< T > | 
| Quaternion | operator* (Quaternion const &q2, Quaternion const &q1) | 
| Quaternion * Quaternion.  More... | |
| Quaternion | product (Quaternion const &q2, Quaternion const &q1, bool const precise=true) | 
| Product: Quaternion * Quaternion.  More... | |
| bool | operator== (Quaternion const &q1, Quaternion const &q2) | 
| Quaternion == Quaternion.  More... | |
| bool | operator!= (Quaternion const &q1, Quaternion const &q2) | 
| Quaternion != Quaternion.  More... | |
| Value | dot (Quaternion const &q1, Quaternion const &q2) | 
| Dot product.  More... | |
| Value | dot_product (Quaternion const &q1, Quaternion const &q2) | 
| Dot product.  More... | |
Unit quaternion 3-D orientation representation.
Definition at line 23 of file Quaternion.fwd.hh.
| typedef xyzVector< T > numeric::Quaternion< typename >::Axis | 
Definition at line 75 of file Quaternion.hh.
| typedef T const* numeric::Quaternion< typename >::const_pointer | 
Definition at line 69 of file Quaternion.hh.
| typedef T const& numeric::Quaternion< typename >::const_reference | 
Definition at line 67 of file Quaternion.hh.
| typedef T const* numeric::Quaternion< typename >::ConstPointer | 
Definition at line 62 of file Quaternion.hh.
| typedef T const& numeric::Quaternion< typename >::ConstReference | 
Definition at line 60 of file Quaternion.hh.
| typedef T* numeric::Quaternion< typename >::Pointer | 
Definition at line 61 of file Quaternion.hh.
| typedef T* numeric::Quaternion< typename >::pointer | 
Definition at line 68 of file Quaternion.hh.
| typedef T& numeric::Quaternion< typename >::Reference | 
Definition at line 59 of file Quaternion.hh.
| typedef T& numeric::Quaternion< typename >::reference | 
Definition at line 66 of file Quaternion.hh.
| typedef NumericTraits< T > numeric::Quaternion< typename >::Traits | 
Definition at line 72 of file Quaternion.hh.
| typedef T numeric::Quaternion< typename >::Value | 
Definition at line 58 of file Quaternion.hh.
| typedef T numeric::Quaternion< typename >::value_type | 
Definition at line 65 of file Quaternion.hh.
| 
 | inline | 
Default constructor.
Definition at line 83 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::conjugated(), numeric::Quaternion< T >::identity(), and numeric::Quaternion< T >::inverse().
| 
 | inline | 
Coordinate constructor.
Definition at line 93 of file Quaternion.hh.
| 
 | inline | 
Copy constructor.
Definition at line 122 of file Quaternion.hh.
| 
 | inline | 
Destructor.
Definition at line 132 of file Quaternion.hh.
| 
 | inline | 
Principal angle of rotation (on [0,2*pi])
Definition at line 320 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::angle().
| 
 | inline | 
Apply a successive Quaternion.
Definition at line 444 of file Quaternion.hh.
Referenced by src.protocols.jd2.RosettaScriptWrapper::apply_to_failure().
| 
 | inline | 
Axis of Rotation unit vector (direction for angle on [0,2*pi])
Definition at line 329 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::axis().
| 
 | inline | 
Axis of rotation unit vector: Passed vector (direction for angle on [0,2*pi])
Definition at line 338 of file Quaternion.hh.
| 
 | inline | 
Conjugate.
Definition at line 420 of file Quaternion.hh.
| 
 | inline | 
Conjugated.
Definition at line 537 of file Quaternion.hh.
| 
 | inline | 
Dot product.
Definition at line 350 of file Quaternion.hh.
| 
 | inline | 
Dot product.
Definition at line 359 of file Quaternion.hh.
| 
 | inlinestatic | 
Identity Quaternion for expressions.
Definition at line 597 of file Quaternion.hh.
| 
 | inlinestatic | 
Identity named constructor.
Definition at line 114 of file Quaternion.hh.
| 
 | inline | 
Inverse.
Definition at line 546 of file Quaternion.hh.
| 
 | inline | 
Invert.
Definition at line 432 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::invert().
| 
 | inline | 
Magnitude squared error within tolerance?
Definition at line 302 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::Quaternion().
| 
 | inline | 
Left multiply by a Quaternion.
Definition at line 453 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::apply(), and numeric::BodyPosition< typename >::left_transform_by().
| 
 | inline | 
Left multiply by the inverse of a Quaternion.
Definition at line 487 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::left_transform_by_inverse_of().
| 
 | inline | 
Magnitude: Should be one.
Definition at line 266 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::magnitude_error().
| 
 | inline | 
Magnitude error.
Definition at line 284 of file Quaternion.hh.
| 
 | inline | 
Magnitude squared: Should be one.
Definition at line 275 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::magnitude_squared_error().
| 
 | inline | 
Magnitude squared error.
Definition at line 293 of file Quaternion.hh.
| 
 | inline | 
Norm: Should be one.
Definition at line 230 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::norm_error().
| 
 | inline | 
Norm error.
Definition at line 248 of file Quaternion.hh.
| 
 | inline | 
Norm squared: Should be one.
Definition at line 239 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::norm_squared_error(), numeric::Quaternion< T >::normalize(), and numeric::Quaternion< T >::normalize_if_needed().
| 
 | inline | 
Norm squared error.
Definition at line 257 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::is_normalized(), and numeric::Quaternion< T >::not_normalized().
| 
 | inline | 
Normalize.
Definition at line 371 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::left_multiply_by(), numeric::Quaternion< T >::left_multiply_by_inverse_of(), numeric::BodyPosition< typename >::normalize(), numeric::BodyPosition< typename >::q_refresh(), numeric::Quaternion< T >::Quaternion(), numeric::BodyPosition< typename >::R_refresh(), numeric::Quaternion< T >::right_multiply_by(), and numeric::Quaternion< T >::right_multiply_by_inverse_of().
| 
 | inline | 
Normalize if magnitude squared error exceeds tolerance.
Definition at line 389 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::normalize_if_needed().
| 
 | inline | 
Magnitude squared error exceeds tolerance?
Definition at line 311 of file Quaternion.hh.
| 
 | inline | 
Definition at line 140 of file Quaternion.hh.
| 
 | inline | 
Right multiply by a Quaternion.
Definition at line 470 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::right_transform_by().
| 
 | inline | 
Right multiply by the inverse of a Quaternion.
Definition at line 504 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::right_transform_by_inverse_of().
| 
 | inline | 
Swap.
Definition at line 521 of file Quaternion.hh.
| 
 | inline | 
Identity.
Definition at line 407 of file Quaternion.hh.
Referenced by numeric::BodyPosition< typename >::to_identity().
| 
 | inline | 
w
Definition at line 158 of file Quaternion.hh.
Referenced by numeric::operator>>(), and numeric::random::random_rotation().
| 
 | inline | 
w squared
Definition at line 194 of file Quaternion.hh.
| 
 | inline | 
x
Definition at line 167 of file Quaternion.hh.
Referenced by numeric::operator>>(), and numeric::random::random_rotation().
| 
 | inline | 
x squared
Definition at line 203 of file Quaternion.hh.
| 
 | inline | 
y
Definition at line 176 of file Quaternion.hh.
Referenced by numeric::operator>>(), and numeric::random::random_rotation().
| 
 | inline | 
y squared
Definition at line 212 of file Quaternion.hh.
| 
 | inline | 
z
Definition at line 185 of file Quaternion.hh.
Referenced by numeric::operator>>(), and numeric::random::random_rotation().
| 
 | inline | 
z squared
Definition at line 221 of file Quaternion.hh.
| 
 | friend | 
Definition at line 51 of file Quaternion.hh.
| 
 | friend | 
Dot product.
Definition at line 631 of file Quaternion.hh.
| 
 | friend | 
Dot product.
Definition at line 641 of file Quaternion.hh.
| 
 | friend | 
Quaternion != Quaternion.
Definition at line 621 of file Quaternion.hh.
| 
 | friend | 
Definition at line 556 of file Quaternion.hh.
| 
 | friend | 
Quaternion == Quaternion.
Definition at line 611 of file Quaternion.hh.
| 
 | friend | 
Product: Quaternion * Quaternion.
Definition at line 571 of file Quaternion.hh.
| 
 | private | 
w coordinate
Definition at line 651 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::angle(), numeric::Quaternion< T >::conjugated(), numeric::Quaternion< T >::dot(), numeric::Quaternion< T >::dot_product(), numeric::Quaternion< T >::inverse(), numeric::Quaternion< T >::left_multiply_by(), numeric::Quaternion< T >::left_multiply_by_inverse_of(), numeric::Quaternion< T >::magnitude(), numeric::Quaternion< T >::magnitude_squared(), numeric::Quaternion< T >::norm(), numeric::Quaternion< T >::norm_squared(), numeric::Quaternion< T >::normalize(), numeric::Quaternion< T >::normalize_if_needed(), numeric::Quaternion< T >::operator=(), numeric::BodyPosition< typename >::q_refresh(), numeric::BodyPosition< typename >::R_refresh(), numeric::Quaternion< T >::right_multiply_by(), numeric::Quaternion< T >::right_multiply_by_inverse_of(), numeric::Quaternion< T >::swap(), numeric::Quaternion< T >::to_identity(), numeric::Quaternion< T >::w(), and numeric::Quaternion< T >::w_squared().
| 
 | private | 
x coordinate
Definition at line 654 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::axis(), numeric::Quaternion< T >::conjugate(), numeric::Quaternion< T >::conjugated(), numeric::Quaternion< T >::dot(), numeric::Quaternion< T >::dot_product(), numeric::Quaternion< T >::inverse(), numeric::Quaternion< T >::invert(), numeric::Quaternion< T >::left_multiply_by(), numeric::Quaternion< T >::left_multiply_by_inverse_of(), numeric::Quaternion< T >::magnitude(), numeric::Quaternion< T >::magnitude_squared(), numeric::Quaternion< T >::norm(), numeric::Quaternion< T >::norm_squared(), numeric::Quaternion< T >::normalize(), numeric::Quaternion< T >::normalize_if_needed(), numeric::Quaternion< T >::operator=(), numeric::BodyPosition< typename >::q_refresh(), numeric::BodyPosition< typename >::R_refresh(), numeric::Quaternion< T >::right_multiply_by(), numeric::Quaternion< T >::right_multiply_by_inverse_of(), numeric::Quaternion< T >::swap(), numeric::Quaternion< T >::to_identity(), numeric::Quaternion< T >::x(), and numeric::Quaternion< T >::x_squared().
| 
 | private | 
y coordinate
Definition at line 657 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::axis(), numeric::Quaternion< T >::conjugate(), numeric::Quaternion< T >::conjugated(), numeric::Quaternion< T >::dot(), numeric::Quaternion< T >::dot_product(), numeric::Quaternion< T >::inverse(), numeric::Quaternion< T >::invert(), numeric::Quaternion< T >::left_multiply_by(), numeric::Quaternion< T >::left_multiply_by_inverse_of(), numeric::Quaternion< T >::magnitude(), numeric::Quaternion< T >::magnitude_squared(), numeric::Quaternion< T >::norm(), numeric::Quaternion< T >::norm_squared(), numeric::Quaternion< T >::normalize(), numeric::Quaternion< T >::normalize_if_needed(), numeric::Quaternion< T >::operator=(), numeric::BodyPosition< typename >::q_refresh(), numeric::BodyPosition< typename >::R_refresh(), numeric::Quaternion< T >::right_multiply_by(), numeric::Quaternion< T >::right_multiply_by_inverse_of(), numeric::Quaternion< T >::swap(), numeric::Quaternion< T >::to_identity(), numeric::Quaternion< T >::y(), and numeric::Quaternion< T >::y_squared().
| 
 | private | 
z coordinate
Definition at line 660 of file Quaternion.hh.
Referenced by numeric::Quaternion< T >::axis(), numeric::Quaternion< T >::conjugate(), numeric::Quaternion< T >::conjugated(), numeric::Quaternion< T >::dot(), numeric::Quaternion< T >::dot_product(), numeric::Quaternion< T >::inverse(), numeric::Quaternion< T >::invert(), numeric::Quaternion< T >::left_multiply_by(), numeric::Quaternion< T >::left_multiply_by_inverse_of(), numeric::Quaternion< T >::magnitude(), numeric::Quaternion< T >::magnitude_squared(), numeric::Quaternion< T >::norm(), numeric::Quaternion< T >::norm_squared(), numeric::Quaternion< T >::normalize(), numeric::Quaternion< T >::normalize_if_needed(), numeric::Quaternion< T >::operator=(), numeric::BodyPosition< typename >::q_refresh(), numeric::BodyPosition< typename >::R_refresh(), numeric::Quaternion< T >::right_multiply_by(), numeric::Quaternion< T >::right_multiply_by_inverse_of(), numeric::Quaternion< T >::swap(), numeric::Quaternion< T >::to_identity(), numeric::Quaternion< T >::z(), and numeric::Quaternion< T >::z_squared().
 1.8.7
 1.8.7