opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Namespaces | Functions
quaternion_functions.h File Reference
#include <liboscar/maths/angle.h>
#include <liboscar/maths/common_functions.h>
#include <liboscar/maths/constants.h>
#include <liboscar/maths/coordinate_direction.h>
#include <liboscar/maths/matrix3x3.h>
#include <liboscar/maths/matrix4x4.h>
#include <liboscar/maths/qua.h>
#include <liboscar/maths/trigonometric_functions.h>
#include <liboscar/maths/vector.h>
#include <concepts>
#include <type_traits>
#include <utility>
Include dependency graph for quaternion_functions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  osc
 

Functions

template<std::floating_point T>
Vector< bool, 4 > osc::isnan (const Qua< T > &q)
 
template<typename T >
requires std::is_arithmetic_v<T>
constexpr Qua< Tosc::conjugate (const Qua< T > &q)
 
template<typename T >
requires std::is_arithmetic_v<T>
constexpr T osc::dot (const Qua< T > &a, const Qua< T > &b)
 
template<typename T >
requires std::is_arithmetic_v<T>
constexpr Qua< Tosc::inverse (const Qua< T > &q)
 
template<typename T >
T osc::length (const Qua< T > &q)
 
template<std::floating_point T>
Qua< Tosc::normalize (const Qua< T > &q)
 
template<typename T >
Qua< Tosc::quaternion_cast (const Matrix< T, 3, 3 > &m)
 
template<typename T >
Qua< Tosc::quaternion_cast (const Matrix< T, 4, 4 > &m)
 
template<typename T >
constexpr Matrix< T, 3, 3 > osc::matrix3x3_cast (const Qua< T > &q)
 
template<typename T >
constexpr Matrix< T, 4, 4 > osc::matrix4x4_cast (const Qua< T > &q)
 
template<typename T >
constexpr Qua< Tosc::quaternion_identity ()
 
template<std::floating_point T, AngularUnitTraits Units, std::convertible_to< const Vector< T, 3 > & > VectorLike>
Qua< Tosc::angle_axis (Angle< T, Units > angle, VectorLike &&axis)
 
template<std::floating_point T, AngularUnitTraits Units>
Qua< Tosc::angle_axis (Angle< T, Units > angle, CoordinateDirection direction)
 
template<typename T >
Qua< Tosc::rotation (const Vector< T, 3 > &origin, const Vector< T, 3 > &destination)
 
template<typename T >
RadiansT< Tosc::pitch (const Qua< T > &q)
 
template<typename T >
RadiansT< Tosc::yaw (const Qua< T > &q)
 
template<typename T >
RadiansT< Tosc::roll (const Qua< T > &q)
 
template<typename T >
Vector< RadiansT< T >, 3 > osc::to_euler_angles (const Qua< T > &x)