JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::Math::Mat2< Vec2 > Struct Template Reference

Minimal 2x2 matrix interface. More...

#include <JPLSpatial/Math/MinimalMat.h>

Public Types

using Float = std::remove_cvref_t< decltype(std::declval< Vec2 >().X)>
 

Public Member Functions

JPL_INLINE constexpr Vec2 Transform (const Vec2 &p) const noexcept
 
JPL_INLINE constexpr Float Det () const noexcept
 
JPL_INLINE constexpr bool IsInvertible (Float eps=Float(1e-6)) const noexcept
 
constexpr bool TryInverse (Mat2 &out, Float eps=Float(1e-6)) const
 
JPL_INLINE constexpr Mat2 Inversed (Float eps=Float(1e-6)) const
 

Static Public Member Functions

static JPL_INLINE constexpr Mat2 Identity () noexcept
 
static JPL_INLINE constexpr Mat2 FromColumns (const Vec2 &l1, const Vec2 &l2) noexcept
 

Public Attributes

Vec2 C0
 
Vec2 C1
 

Detailed Description

template<class Vec2>
struct JPL::Math::Mat2< Vec2 >

Minimal 2x2 matrix interface.

Member Typedef Documentation

◆ Float

template<class Vec2 >
using JPL::Math::Mat2< Vec2 >::Float = std::remove_cvref_t<decltype(std::declval<Vec2>().X)>

Member Function Documentation

◆ Det()

template<class Vec2 >
JPL_INLINE constexpr Float JPL::Math::Mat2< Vec2 >::Det ( ) const
inlineconstexprnoexcept

◆ FromColumns()

template<class Vec2 >
static JPL_INLINE constexpr Mat2 JPL::Math::Mat2< Vec2 >::FromColumns ( const Vec2 l1,
const Vec2 l2 
)
inlinestaticconstexprnoexcept

◆ Identity()

template<class Vec2 >
static JPL_INLINE constexpr Mat2 JPL::Math::Mat2< Vec2 >::Identity ( )
inlinestaticconstexprnoexcept

◆ Inversed()

template<class Vec2 >
JPL_INLINE constexpr Mat2 JPL::Math::Mat2< Vec2 >::Inversed ( Float  eps = Float(1e-6)) const
inlineconstexpr

◆ IsInvertible()

template<class Vec2 >
JPL_INLINE constexpr bool JPL::Math::Mat2< Vec2 >::IsInvertible ( Float  eps = Float(1e-6)) const
inlineconstexprnoexcept

◆ Transform()

template<class Vec2 >
JPL_INLINE constexpr Vec2 JPL::Math::Mat2< Vec2 >::Transform ( const Vec2 p) const
inlineconstexprnoexcept

◆ TryInverse()

template<class Vec2 >
constexpr bool JPL::Math::Mat2< Vec2 >::TryInverse ( Mat2< Vec2 > &  out,
Float  eps = Float(1e-6) 
) const
inlineconstexpr

Member Data Documentation

◆ C0

template<class Vec2 >
Vec2 JPL::Math::Mat2< Vec2 >::C0

◆ C1

template<class Vec2 >
Vec2 JPL::Math::Mat2< Vec2 >::C1

The documentation for this struct was generated from the following file: