OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::CircularBase< Float, Oclock > Struct Template Reference

円座標 More...

#include <Circular.hpp>

Public Types

using value_type = Float
 
using position_type = Vector2D< value_type >
 

Public Member Functions

SIV3D_NODISCARD_CXX20 CircularBase ()=default
 
constexpr SIV3D_NODISCARD_CXX20 CircularBase (value_type _r, value_type _theta) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 CircularBase (Arg::r_< value_type > _r, Arg::theta_< value_type > _theta) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 CircularBase (Arg::theta_< value_type > _theta, Arg::r_< value_type > _r) noexcept
 
SIV3D_NODISCARD_CXX20 CircularBase (position_type v) noexcept
 
constexpr CircularBase operator+ () const noexcept
 
constexpr CircularBase operator- () const noexcept
 
position_type operator+ (position_type v) const noexcept
 
position_type operator- (position_type v) const noexcept
 
constexpr CircularBase rotated (value_type angle) const noexcept
 
constexpr CircularBaserotate (value_type angle) noexcept
 
Float2 toFloat2 () const noexcept
 
Vec2 toVec2 () const noexcept
 
Float2 fastToFloat2 () const noexcept
 
Vec2 fastToVec2 () const noexcept
 
position_type toPosition () const noexcept
 
 operator position_type () const noexcept
 
size_t hash () const noexcept
 

Public Attributes

value_type r
 半径 More...
 
value_type theta
 角度(ラジアン) More...
 

Friends

template<class CharType >
std::basic_ostream< CharType > & operator<< (std::basic_ostream< CharType > &output, const CircularBase &value)
 
template<class CharType >
std::basic_istream< CharType > & operator>> (std::basic_istream< CharType > &input, CircularBase &value)
 
void Formatter (FormatData &formatData, const CircularBase &value)
 

Detailed Description

template<class Float, int32 Oclock = 0>
struct s3d::CircularBase< Float, Oclock >

円座標

Member Typedef Documentation

◆ position_type

template<class Float , int32 Oclock = 0>
using s3d::CircularBase< Float, Oclock >::position_type = Vector2D<value_type>

◆ value_type

template<class Float , int32 Oclock = 0>
using s3d::CircularBase< Float, Oclock >::value_type = Float

Constructor & Destructor Documentation

◆ CircularBase() [1/5]

template<class Float , int32 Oclock = 0>
SIV3D_NODISCARD_CXX20 s3d::CircularBase< Float, Oclock >::CircularBase ( )
default

◆ CircularBase() [2/5]

template<class Float , int32 Oclock = 0>
constexpr SIV3D_NODISCARD_CXX20 s3d::CircularBase< Float, Oclock >::CircularBase ( value_type  _r,
value_type  _theta 
)
constexprnoexcept

◆ CircularBase() [3/5]

template<class Float , int32 Oclock = 0>
constexpr SIV3D_NODISCARD_CXX20 s3d::CircularBase< Float, Oclock >::CircularBase ( Arg::r_< value_type _r,
Arg::theta_< value_type _theta 
)
constexprnoexcept

◆ CircularBase() [4/5]

template<class Float , int32 Oclock = 0>
constexpr SIV3D_NODISCARD_CXX20 s3d::CircularBase< Float, Oclock >::CircularBase ( Arg::theta_< value_type _theta,
Arg::r_< value_type _r 
)
constexprnoexcept

◆ CircularBase() [5/5]

template<class Float , int32 Oclock = 0>
SIV3D_NODISCARD_CXX20 s3d::CircularBase< Float, Oclock >::CircularBase ( position_type  v)
noexcept

Member Function Documentation

◆ fastToFloat2()

template<class Float , int32 Oclock = 0>
Float2 s3d::CircularBase< Float, Oclock >::fastToFloat2 ( ) const
noexcept

◆ fastToVec2()

template<class Float , int32 Oclock = 0>
Vec2 s3d::CircularBase< Float, Oclock >::fastToVec2 ( ) const
noexcept

◆ hash()

template<class Float , int32 Oclock = 0>
size_t s3d::CircularBase< Float, Oclock >::hash ( ) const
noexcept

◆ operator position_type()

template<class Float , int32 Oclock = 0>
s3d::CircularBase< Float, Oclock >::operator position_type ( ) const
noexcept

◆ operator+() [1/2]

template<class Float , int32 Oclock = 0>
constexpr CircularBase s3d::CircularBase< Float, Oclock >::operator+ ( ) const
constexprnoexcept

◆ operator+() [2/2]

template<class Float , int32 Oclock = 0>
position_type s3d::CircularBase< Float, Oclock >::operator+ ( position_type  v) const
noexcept

◆ operator-() [1/2]

template<class Float , int32 Oclock = 0>
constexpr CircularBase s3d::CircularBase< Float, Oclock >::operator- ( ) const
constexprnoexcept

◆ operator-() [2/2]

template<class Float , int32 Oclock = 0>
position_type s3d::CircularBase< Float, Oclock >::operator- ( position_type  v) const
noexcept

◆ rotate()

template<class Float , int32 Oclock = 0>
constexpr CircularBase& s3d::CircularBase< Float, Oclock >::rotate ( value_type  angle)
constexprnoexcept

◆ rotated()

template<class Float , int32 Oclock = 0>
constexpr CircularBase s3d::CircularBase< Float, Oclock >::rotated ( value_type  angle) const
constexprnoexcept

◆ toFloat2()

template<class Float , int32 Oclock = 0>
Float2 s3d::CircularBase< Float, Oclock >::toFloat2 ( ) const
noexcept

◆ toPosition()

template<class Float , int32 Oclock = 0>
position_type s3d::CircularBase< Float, Oclock >::toPosition ( ) const
noexcept

◆ toVec2()

template<class Float , int32 Oclock = 0>
Vec2 s3d::CircularBase< Float, Oclock >::toVec2 ( ) const
noexcept

Friends And Related Function Documentation

◆ Formatter

template<class Float , int32 Oclock = 0>
void Formatter ( FormatData formatData,
const CircularBase< Float, Oclock > &  value 
)
friend

◆ operator<<

template<class Float , int32 Oclock = 0>
template<class CharType >
std::basic_ostream<CharType>& operator<< ( std::basic_ostream< CharType > &  output,
const CircularBase< Float, Oclock > &  value 
)
friend

◆ operator>>

template<class Float , int32 Oclock = 0>
template<class CharType >
std::basic_istream<CharType>& operator>> ( std::basic_istream< CharType > &  input,
CircularBase< Float, Oclock > &  value 
)
friend

Member Data Documentation

◆ r

template<class Float , int32 Oclock = 0>
value_type s3d::CircularBase< Float, Oclock >::r

半径

◆ theta

template<class Float , int32 Oclock = 0>
value_type s3d::CircularBase< Float, Oclock >::theta

角度(ラジアン)


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