#include "JPLSpatial/Math/Math.h"
#include "JPLSpatial/Math/SIMD.h"
#include "JPLSpatial/Math/SIMDMath.h"
#include "JPLSpatial/Math/Vec3Pack.h"
#include "JPLSpatial/Math/Vec3Traits.h"
#include <cmath>
#include <concepts>
#include <numbers>
#include <limits>
Go to the source code of this file.
|
| template<CVec3 Vec3> |
| JPL_INLINE constexpr bool | JPL::Math::IsNearlyEqual (const Vec3 &a, const Vec3 &b, Internal::FloatOf< Vec3 > tolerance=JPL_FLOAT_EPS_V< Internal::FloatOf< Vec3 > >) noexcept |
| |
| template<CVec3 Vec3> |
| JPL_INLINE constexpr bool | JPL::Math::IsNearlyZero (const Vec3 &a, Internal::FloatOf< Vec3 > tolerance=JPL_FLOAT_EPS_V< Internal::FloatOf< Vec3 > >) noexcept |
| |
| template<CVec3 Vec3> |
| JPL_INLINE bool | JPL::Math::HasNans (const Vec3 &vec) |
| |
| template<CVec3 Vec3> |
| Vec3 | JPL::Math::GetNormalizedPerpendicular (const Vec3 &vec) noexcept |
| |
| template<CVec3 Vec3> |
| void | JPL::Math::CreateOrthonormalBasis (const Vec3 &normal, Vec3 &tangent, Vec3 &bitangent) noexcept |
| |
| template<CVec3 Vec3> |
| JPL_INLINE Vec3 | JPL::Math::RotateVector (const Vec3 &vector, const Vec3 &rotationAxis, float angleRad) noexcept |
| |
| template<CVec3 Vec3> |
| JPL_INLINE Vec3 | JPL::Math::Lerp (const Vec3 &v0, const Vec3 &v1, float t) noexcept |
| |
| JPL_INLINE Vec3Pack | JPL::Math::Lerp (const Vec3Pack &v0, const Vec3Pack &v1, simd t) noexcept |
| |
| template<CVec3 Vec3> |
| JPL_INLINE Vec3 | JPL::Math::Nlerp (const Vec3 &v0, const Vec3 &v1, float t) noexcept |
| |
| JPL_INLINE Vec3Pack | JPL::Math::Nlerp (const Vec3Pack &v0, const Vec3Pack &v1, simd t) noexcept |
| |
| template<CVec3 Vec3> |
| Vec3 | JPL::Math::Slerp (const Vec3 &v0, const Vec3 &v1, float t) noexcept |
| | Input vectors must be normalized.
|
| |
| void | JPL::Math::Slerp (Vec3Pack &inOutV0, const Vec3Pack &V1, const simd &t) noexcept |
| | Input vectors must be normalized.
|
| |