CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Math::TRadian< T > Struct Template Reference

Wrapper class which indicates a given angle value is in radians. More...

#include <CeresEngine/Math/Angle.hpp>

Public Member Functions

constexpr TRadian ()=default
 
constexpr TRadian (const TRadian &)=default
 
constexpr TRadianoperator= (const TRadian &)=default
 
constexpr TRadian (T r)
 
constexpr TRadian (const TDegree< T > &d)
 
constexpr TRadianoperator= (const TDegree< T > &d)
 
template<CArithmetic U>
constexpr TRadian (const TRadian< U > &rad)
 
constexpr TRadian wrap ()
 Wraps the angle in [0, 2 * PI) range.
 
constexpr const TRadianoperator+ () const
 
constexpr TRadian operator+ (const TRadian &r) const
 
constexpr TRadianoperator+= (const TRadian &r)
 
constexpr TRadian operator- () const
 
constexpr TRadian operator- (const TRadian &r) const
 
constexpr TRadianoperator-= (const TRadian &r)
 
constexpr TRadian operator* (T f) const
 
constexpr TRadianoperator*= (T f)
 
constexpr TRadian operator/ (T f) const
 
constexpr TRadianoperator/= (T f)
 
constexpr bool operator< (const TRadian &d) const
 
constexpr bool operator< (T d) const
 
constexpr bool operator<= (const TRadian &d) const
 
constexpr bool operator<= (T d) const
 
constexpr bool operator== (const TRadian &d) const
 
constexpr bool operator== (T d) const
 
constexpr bool operator!= (const TRadian &d) const
 
constexpr bool operator!= (T d) const
 
constexpr bool operator>= (const TRadian &d) const
 
constexpr bool operator>= (T d) const
 
constexpr bool operator> (const TRadian &d) const
 
constexpr bool operator> (T d) const
 

Public Attributes

raw = 0.0
 

Friends

constexpr TRadian operator+ (T lhs, const TRadian &rhs)
 
constexpr TRadian operator- (T lhs, const TRadian &rhs)
 
constexpr TRadian operator* (T lhs, const TRadian &rhs)
 
constexpr TRadian operator/ (T lhs, const TRadian &rhs)
 

Detailed Description

template<CArithmetic T>
struct Math::TRadian< T >

Wrapper class which indicates a given angle value is in radians.

Note
Radian values are interchangeable with degree values, and conversions will be done automatically between them.

Constructor & Destructor Documentation

◆ TRadian() [1/5]

template<CArithmetic T>
constexpr Math::TRadian< T >::TRadian ( )
constexprdefault

◆ TRadian() [2/5]

template<CArithmetic T>
constexpr Math::TRadian< T >::TRadian ( const TRadian< T > &  )
constexprdefault

◆ TRadian() [3/5]

template<CArithmetic T>
constexpr Math::TRadian< T >::TRadian ( r)
inlineexplicitconstexpr

◆ TRadian() [4/5]

template<CArithmetic T>
constexpr Math::TRadian< T >::TRadian ( const TDegree< T > &  d)
inlineconstexpr

◆ TRadian() [5/5]

template<CArithmetic T>
template<CArithmetic U>
constexpr Math::TRadian< T >::TRadian ( const TRadian< U > &  rad)
inlineexplicitconstexpr

Member Function Documentation

◆ operator!=() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator!= ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator!=() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator!= ( d) const
inlineconstexpr

◆ operator*()

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::operator* ( f) const
inlineconstexpr

◆ operator*=()

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator*= ( f)
inlineconstexpr

◆ operator+() [1/2]

template<CArithmetic T>
constexpr const TRadian & Math::TRadian< T >::operator+ ( ) const
inlineconstexpr

◆ operator+() [2/2]

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::operator+ ( const TRadian< T > &  r) const
inlineconstexpr

◆ operator+=()

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator+= ( const TRadian< T > &  r)
inlineconstexpr

◆ operator-() [1/2]

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::operator- ( ) const
inlineconstexpr

◆ operator-() [2/2]

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::operator- ( const TRadian< T > &  r) const
inlineconstexpr

◆ operator-=()

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator-= ( const TRadian< T > &  r)
inlineconstexpr

◆ operator/()

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::operator/ ( f) const
inlineconstexpr

◆ operator/=()

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator/= ( f)
inlineconstexpr

◆ operator<() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator< ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator<() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator< ( d) const
inlineconstexpr

◆ operator<=() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator<= ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator<=() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator<= ( d) const
inlineconstexpr

◆ operator=() [1/2]

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator= ( const TDegree< T > &  d)
inlineconstexpr

◆ operator=() [2/2]

template<CArithmetic T>
constexpr TRadian & Math::TRadian< T >::operator= ( const TRadian< T > &  )
constexprdefault

◆ operator==() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator== ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator==() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator== ( d) const
inlineconstexpr

◆ operator>() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator> ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator>() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator> ( d) const
inlineconstexpr

◆ operator>=() [1/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator>= ( const TRadian< T > &  d) const
inlineconstexpr

◆ operator>=() [2/2]

template<CArithmetic T>
constexpr bool Math::TRadian< T >::operator>= ( d) const
inlineconstexpr

◆ wrap()

template<CArithmetic T>
constexpr TRadian Math::TRadian< T >::wrap ( )
inlineconstexpr

Wraps the angle in [0, 2 * PI) range.

Friends And Related Symbol Documentation

◆ operator*

template<CArithmetic T>
constexpr TRadian operator* ( lhs,
const TRadian< T > &  rhs 
)
friend

◆ operator+

template<CArithmetic T>
constexpr TRadian operator+ ( lhs,
const TRadian< T > &  rhs 
)
friend

◆ operator-

template<CArithmetic T>
constexpr TRadian operator- ( lhs,
const TRadian< T > &  rhs 
)
friend

◆ operator/

template<CArithmetic T>
constexpr TRadian operator/ ( lhs,
const TRadian< T > &  rhs 
)
friend

Member Data Documentation

◆ raw

template<CArithmetic T>
T Math::TRadian< T >::raw = 0.0

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