![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Definition of quaternion data types. More...
#include <algorithm>#include <utility>#include <type_traits>#include "CDPL/Math/QuaternionExpression.hpp"#include "CDPL/Math/QuaternionAssignment.hpp"#include "CDPL/Math/Functional.hpp"#include "CDPL/Math/TypeTraits.hpp"Go to the source code of this file.
Classes | |
| class | CDPL::Math::QuaternionReference< Q > |
| Lightweight quaternion expression that proxies a reference to an underlying quaternion container. More... | |
| class | CDPL::Math::Quaternion< T > |
| General 4-component quaternion \( q = c_1 + c_2 i + c_3 j + c_4 k \). More... | |
| class | CDPL::Math::RealQuaternion< T > |
| Pure-real quaternion \( q = c_1 + 0i + 0j + 0k \) that stores only the real component. More... | |
| struct | CDPL::Math::QuaternionTemporaryTraits< const QuaternionReference< Q > > |
Math::QuaternionTemporaryTraits specialization inheriting the temporary type of the underlying quaternion for a const Math::QuaternionReference view. More... | |
| struct | CDPL::Math::QuaternionTemporaryTraits< QuaternionReference< Q > > |
| Math::QuaternionTemporaryTraits specialization inheriting the temporary type of the underlying quaternion for a Math::QuaternionReference view. More... | |
Namespaces | |
| CDPL | |
| The namespace of the Chemical Data Processing Library. | |
| CDPL::Math | |
| Contains classes and functions related to mathematics. | |
Typedefs | |
| typedef Quaternion< float > | CDPL::Math::FQuaternion |
General 4-component quaternion with component values of type float. More... | |
| typedef Quaternion< double > | CDPL::Math::DQuaternion |
General 4-component quaternion with component values of type double. More... | |
| typedef Quaternion< long > | CDPL::Math::LQuaternion |
General 4-component quaternion with component values of type long. More... | |
| typedef Quaternion< unsigned long > | CDPL::Math::ULQuaternion |
General 4-component quaternion with component values of type unsigned long. More... | |
| typedef RealQuaternion< float > | CDPL::Math::FRealQuaternion |
A memory-efficient pure-real quaternion with component values of type float. More... | |
| typedef RealQuaternion< double > | CDPL::Math::DRealQuaternion |
A memory-efficient pure-real quaternion with component values of type double. More... | |
| typedef RealQuaternion< long > | CDPL::Math::LRealQuaternion |
A memory-efficient pure-real quaternion with component values of type long. More... | |
| typedef RealQuaternion< unsigned long > | CDPL::Math::ULRealQuaternion |
A memory-efficient pure-real quaternion with component values of type unsigned long. More... | |
Functions | |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, RealQuaternion< T > >::type | CDPL::Math::quat (const T &t) |
| Constructs a Math::RealQuaternion from the scalar t (its real component). More... | |
| template<typename T1 , typename T2 > | |
| Quaternion< typename CommonType< T1, T2 >::Type > | CDPL::Math::quat (const T1 &t1, const T2 &t2) |
| Constructs a Math::Quaternion from two scalar components t1 and t2 (C1, C2) — remaining components are zero. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| Quaternion< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type > | CDPL::Math::quat (const T1 &t1, const T2 &t2, const T3 &t3) |
| Constructs a Math::Quaternion from three scalar components (C1, C2, C3) — C4 is zero. More... | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| Quaternion< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type > | CDPL::Math::quat (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
| Constructs a Math::Quaternion from four scalar components (C1, C2, C3, C4). More... | |
Definition of quaternion data types.