Blender V4.3
blender::math::AngleRadianBase< T > Struct Template Reference

#include <BLI_math_angle_types.hh>

Public Member Functions

 AngleRadianBase ()=default
 
 AngleRadianBase (const T &radian)
 
 AngleRadianBase (const T &cos, const T &sin)
 
 operator T () const
 
T degree () const
 
T radian () const
 
AngleRadianBase wrapped () const
 
AngleRadianBase wrapped_around (const AngleRadianBase &reference) const
 
AngleRadianBaseoperator+= (const AngleRadianBase &b)
 
AngleRadianBaseoperator-= (const AngleRadianBase &b)
 
AngleRadianBaseoperator*= (const AngleRadianBase &b)
 
AngleRadianBaseoperator/= (const AngleRadianBase &b)
 

Static Public Member Functions

static AngleRadianBase identity ()
 
static AngleRadianBase from_degree (const T &degrees)
 

Friends

AngleRadianBase operator+ (const AngleRadianBase &a, const AngleRadianBase &b)
 
AngleRadianBase operator- (const AngleRadianBase &a, const AngleRadianBase &b)
 
AngleRadianBase operator* (const AngleRadianBase &a, const AngleRadianBase &b)
 
AngleRadianBase operator/ (const AngleRadianBase &a, const AngleRadianBase &b)
 
AngleRadianBase operator- (const AngleRadianBase &a)
 
std::ostream & operator<< (std::ostream &stream, const AngleRadianBase &rot)
 

Detailed Description

template<typename T>
struct blender::math::AngleRadianBase< T >

A blender::math::AngleRadianBase<T> is a typical radian angle.

Definition at line 34 of file BLI_math_angle_types.hh.

Constructor & Destructor Documentation

◆ AngleRadianBase() [1/3]

template<typename T >
blender::math::AngleRadianBase< T >::AngleRadianBase ( )
default

◆ AngleRadianBase() [2/3]

template<typename T >
blender::math::AngleRadianBase< T >::AngleRadianBase ( const T & radian)
inline

Definition at line 41 of file BLI_math_angle_types.hh.

◆ AngleRadianBase() [3/3]

template<typename T >
blender::math::AngleRadianBase< T >::AngleRadianBase ( const T & cos,
const T & sin )
inlineexplicit

Definition at line 42 of file BLI_math_angle_types.hh.

Member Function Documentation

◆ degree()

template<typename T >
T blender::math::AngleRadianBase< T >::degree ( ) const
inline

◆ from_degree()

template<typename T >
static AngleRadianBase blender::math::AngleRadianBase< T >::from_degree ( const T & degrees)
inlinestatic

◆ identity()

template<typename T >
static AngleRadianBase blender::math::AngleRadianBase< T >::identity ( )
inlinestatic

Static functions.

Definition at line 46 of file BLI_math_angle_types.hh.

Referenced by blender::math::EulerXYZBase< T >::identity().

◆ operator T()

template<typename T >
blender::math::AngleRadianBase< T >::operator T ( ) const
inlineexplicit

Conversions.

Definition at line 59 of file BLI_math_angle_types.hh.

◆ operator*=()

template<typename T >
AngleRadianBase & blender::math::AngleRadianBase< T >::operator*= ( const AngleRadianBase< T > & b)
inline

Definition at line 136 of file BLI_math_angle_types.hh.

References b.

◆ operator+=()

template<typename T >
AngleRadianBase & blender::math::AngleRadianBase< T >::operator+= ( const AngleRadianBase< T > & b)
inline

Definition at line 124 of file BLI_math_angle_types.hh.

References b.

◆ operator-=()

template<typename T >
AngleRadianBase & blender::math::AngleRadianBase< T >::operator-= ( const AngleRadianBase< T > & b)
inline

Definition at line 130 of file BLI_math_angle_types.hh.

References b.

◆ operator/=()

template<typename T >
AngleRadianBase & blender::math::AngleRadianBase< T >::operator/= ( const AngleRadianBase< T > & b)
inline

Definition at line 142 of file BLI_math_angle_types.hh.

References b.

◆ radian()

◆ wrapped()

template<typename T >
AngleRadianBase blender::math::AngleRadianBase< T >::wrapped ( ) const
inline

Methods. Return the angle wrapped inside [-pi..pi] interval. Basically (angle + pi) % 2pi - pi.

Definition at line 81 of file BLI_math_angle_types.hh.

References blender::math::mod_periodic(), blender::math::numbers::pi, and T.

Referenced by blender::math::EulerXYZBase< T >::wrapped(), and blender::math::AngleRadianBase< T >::wrapped_around().

◆ wrapped_around()

template<typename T >
AngleRadianBase blender::math::AngleRadianBase< T >::wrapped_around ( const AngleRadianBase< T > & reference) const
inline

Return the angle wrapped inside [-pi..pi] interval around a reference . Basically (angle - reference + pi) % 2pi - pi + reference . This means the interpolation between the returned value and reference will always take the shortest path.

Definition at line 92 of file BLI_math_angle_types.hh.

References blender::math::AngleRadianBase< T >::wrapped().

Referenced by blender::math::EulerXYZBase< T >::wrapped_around().

Friends And Related Symbol Documentation

◆ operator*

template<typename T >
AngleRadianBase operator* ( const AngleRadianBase< T > & a,
const AngleRadianBase< T > & b )
friend

Definition at line 109 of file BLI_math_angle_types.hh.

◆ operator+

template<typename T >
AngleRadianBase operator+ ( const AngleRadianBase< T > & a,
const AngleRadianBase< T > & b )
friend

Operators.

Definition at line 99 of file BLI_math_angle_types.hh.

◆ operator- [1/2]

template<typename T >
AngleRadianBase operator- ( const AngleRadianBase< T > & a)
friend

Definition at line 119 of file BLI_math_angle_types.hh.

◆ operator- [2/2]

template<typename T >
AngleRadianBase operator- ( const AngleRadianBase< T > & a,
const AngleRadianBase< T > & b )
friend

Definition at line 104 of file BLI_math_angle_types.hh.

◆ operator/

template<typename T >
AngleRadianBase operator/ ( const AngleRadianBase< T > & a,
const AngleRadianBase< T > & b )
friend

Definition at line 114 of file BLI_math_angle_types.hh.

◆ operator<<

template<typename T >
std::ostream & operator<< ( std::ostream & stream,
const AngleRadianBase< T > & rot )
friend

Definition at line 150 of file BLI_math_angle_types.hh.


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