OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::Circle Struct Reference

円 More...

#include <Circle.hpp>

Public Types

using position_type = Vec2
 
using size_type = position_type::value_type
 
using value_type = position_type::value_type
 

Public Member Functions

SIV3D_NODISCARD_CXX20 Circle ()=default
 デフォルトコンストラクタ More...
 
constexpr SIV3D_NODISCARD_CXX20 Circle (size_type _r) noexcept
 中心が { 0, 0 } の円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arithmetic _r) noexcept
 中心が { 0, 0 } の円を作成します。 More...
 
constexpr SIV3D_NODISCARD_CXX20 Circle (value_type _x, value_type _y, size_type _r) noexcept
 円を作成します。 More...
 
template<class X , class Y , class R >
constexpr SIV3D_NODISCARD_CXX20 Circle (X _x, Y _y, R _r) noexcept
 円を作成します。 More...
 
constexpr SIV3D_NODISCARD_CXX20 Circle (position_type _center, size_type _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (position_type _center, Arithmetic _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::center_< position_type > _center, Arithmetic _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::topLeft_< position_type > topLeft, Arithmetic _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::topCenter_< position_type > topCenter, Arithmetic _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::topRight_< position_type > topRight, Arithmetic _r) noexcept
 円を作成します。 More...
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::rightCenter_< position_type > rightCenter, Arithmetic _r) noexcept
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::bottomRight_< position_type > bottomRight, Arithmetic _r) noexcept
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::bottomCenter_< position_type > bottomCenter, Arithmetic _r) noexcept
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::bottomLeft_< position_type > bottomLeft, Arithmetic _r) noexcept
 
SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 Circle (Arg::leftCenter_< position_type > leftCenter, Arithmetic _r) noexcept
 
SIV3D_NODISCARD_CXX20 Circle (position_type p0, position_type p1) noexcept
 
SIV3D_NODISCARD_CXX20 Circle (const position_type &p0, const position_type &p1, const position_type &p2) noexcept
 
SIV3D_NODISCARD_CXX20 Circle (const Line &diameter) noexcept
 
SIV3D_NODISCARD_CXX20 Circle (Arg::center_< position_type > _center, const position_type &p) noexcept
 
constexpr Circle & set (value_type _x, value_type _y, size_type _r) noexcept
 
constexpr Circle & set (position_type _center, size_type _r) noexcept
 
constexpr Circle & set (Arg::center_< position_type > _center, size_type _r) noexcept
 
constexpr Circle & set (Arg::topLeft_< position_type > topLeft, size_type _r) noexcept
 
constexpr Circle & set (Arg::topCenter_< position_type > topCenter, size_type _r) noexcept
 
constexpr Circle & set (Arg::topRight_< position_type > topRight, size_type _r) noexcept
 
constexpr Circle & set (Arg::rightCenter_< position_type > rightCenter, size_type _r) noexcept
 
constexpr Circle & set (Arg::bottomRight_< position_type > bottomRight, size_type _r) noexcept
 
constexpr Circle & set (Arg::bottomCenter_< position_type > bottomCenter, size_type _r) noexcept
 
constexpr Circle & set (Arg::bottomLeft_< position_type > bottomLeft, size_type _r) noexcept
 
constexpr Circle & set (Arg::leftCenter_< position_type > leftCenter, size_type _r) noexcept
 
constexpr Circle & set (const Circle &circle) noexcept
 
constexpr Circle & setCenter (value_type _x, value_type _y) noexcept
 
constexpr Circle & setCenter (position_type _center) noexcept
 
constexpr Circle & setPos (value_type _x, value_type _y) noexcept
 
constexpr Circle & setPos (position_type _center) noexcept
 
constexpr Circle & setPos (Arg::center_< position_type > _center) noexcept
 
constexpr Circle & setPos (Arg::topLeft_< position_type > topLeft) noexcept
 
constexpr Circle & setPos (Arg::topCenter_< position_type > topCenter) noexcept
 
constexpr Circle & setPos (Arg::topRight_< position_type > topRight) noexcept
 
constexpr Circle & setPos (Arg::rightCenter_< position_type > rightCenter) noexcept
 
constexpr Circle & setPos (Arg::bottomRight_< position_type > bottomRight) noexcept
 
constexpr Circle & setPos (Arg::bottomCenter_< position_type > bottomCenter) noexcept
 
constexpr Circle & setPos (Arg::bottomLeft_< position_type > bottomLeft) noexcept
 
constexpr Circle & setPos (Arg::leftCenter_< position_type > leftCenter) noexcept
 
constexpr Circle & setR (value_type _r) noexcept
 
constexpr Circle movedBy (value_type _x, value_type _y) const noexcept
 中心座標を移動した新しい円を返します。 More...
 
constexpr Circle movedBy (position_type v) const noexcept
 中心座標を移動した新しい円を返します。 More...
 
constexpr Circle & moveBy (value_type _x, value_type _y) noexcept
 中心座標を移動させます。 More...
 
constexpr Circle & moveBy (position_type v) noexcept
 中心座標を移動させます。 More...
 
constexpr Circle stretched (value_type size) const noexcept
 半径を変化させた新しい円を返します。 More...
 
constexpr Ellipse stretched (double _x, double _y) const noexcept
 X 軸、Y 軸上で径を変化させて楕円を作成します。 More...
 
constexpr Circle scaled (double s) const noexcept
 半径を拡大した新しい円を返します。 More...
 
constexpr Ellipse scaled (double sx, double sy) const noexcept
 X 軸、Y 軸上に拡大して楕円を作成します。 More...
 
constexpr position_type top () const noexcept
 円周上で最も上にある点の座標を返します。 More...
 
constexpr position_type right () const noexcept
 円周上で最も右にある点の座標を返します。 More...
 
constexpr position_type bottom () const noexcept
 円周上で最も下にある点の座標を返します。 More...
 
constexpr position_type left () const noexcept
 円周上で最も左にある点の座標を返します。 More...
 
constexpr Line horizontalDiameter () const noexcept
 
constexpr Line verticalDiameter () const noexcept
 
constexpr value_type area () const noexcept
 円の面積を返します。 More...
 
constexpr value_type perimeter () const noexcept
 円の周の長さを返します。 More...
 
constexpr RectF boundingRect () const noexcept
 円に外接する正方形を返します。 More...
 
position_type getPointByAngle (double angle) const noexcept
 円周上の点をラジアン (12 時方向が 0, 3 時方向が π/2, 6 時方向が π) で取得します。 More...
 
Polygon asPolygon (uint32 quality=24) const
 円から Polygon を作成します。 More...
 
Polygon pieAsPolygon (double startAngle, double angle, uint32 quality=24) const
 
Polygon arcAsPolygon (double startAngle, double angle, double innerThickness, double outerThickness, uint32 quality=24) const
 
constexpr Circle lerp (const Circle &other, double f) const noexcept
 
size_t hash () const noexcept
 
template<class Shape2DType >
constexpr bool intersects (const Shape2DType &other) const
 
template<class Shape2DType >
Optional< Array< Vec2 > > intersectsAt (const Shape2DType &other) const
 
template<class Shape2DType >
bool contains (const Shape2DType &other) const
 
bool leftClicked () const noexcept
 円が現在のフレームで左クリックされ始めたかを返します。 More...
 
bool leftPressed () const noexcept
 円が左クリックされているかを返します。 More...
 
bool leftReleased () const noexcept
 現在のフレームで円への左クリックが離されたかを返します。 More...
 
bool rightClicked () const noexcept
 円が現在のフレームで右クリックされ始めたかを返します。 More...
 
bool rightPressed () const noexcept
 円が右クリックされているかを返します。 More...
 
bool rightReleased () const noexcept
 現在のフレームで円への右クリックが離されたかを返します。 More...
 
bool mouseOver () const noexcept
 円上にマウスカーソルがあるかを返します。 More...
 
const Circle & paint (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circle & overwrite (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circle & paintFrame (Image &dst, double innerThickness, double outerThickness, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circle & overwriteFrame (Image &dst, double innerThickness, double outerThickness, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circle & draw (const ColorF &color=Palette::White) const
 円を描きます。 More...
 
const Circle & draw (const ColorF &innerColor, const ColorF &outerColor) const
 円を描きます。 More...
 
const Circle & drawFrame (double thickness=1.0, const ColorF &color=Palette::White) const
 円の枠を描きます More...
 
const Circle & drawFrame (double thickness, const ColorF &innerColor, const ColorF &outerColor) const
 円の枠を描きます More...
 
const Circle & drawFrame (double innerThickness, double outerThickness, const ColorF &color=Palette::White) const
 円の枠を描きます。 More...
 
const Circle & drawFrame (double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 円の枠を描きます。 More...
 
const Circle & drawPie (double startAngle, double angle, const ColorF &color=Palette::White) const
 
const Circle & drawPie (double startAngle, double angle, const ColorF &innerColor, const ColorF &outerColor) const
 
const Circle & drawArc (double startAngle, double angle, double innerThickness=1.0, double outerThickness=0.0, const ColorF &color=Palette::White) const
 
const Circle & drawArc (double startAngle, double angle, double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 
const Circle & drawArc (const LineStyle &style, double startAngle, double angle, double innerThickness=1.0, double outerThickness=0.0, const ColorF &color=Palette::White) const
 
const Circle & drawArc (const LineStyle &style, double startAngle, double angle, double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 
const Circle & drawShadow (const Vec2 &offset, double blurRadius, double spread=0.0, const ColorF &color=ColorF{ 0.0, 0.5 }) const
 
TexturedCircle operator() (const Texture &texture) const
 
TexturedCircle operator() (const TextureRegion &textureRegion) const
 

Public Attributes

union {
   position_type   center
 円の中心座標 More...
 
   struct {
      value_type   x
 円の中心の X 座標 More...
 
      value_type   y
 円の中心の Y 座標 More...
 
   } 
 
}; 
 
size_type r
 円の半径 More...
 

Friends

constexpr friend bool operator== (const Circle &lhs, const Circle &rhs) noexcept
 
constexpr friend bool operator!= (const Circle &lhs, const Circle &rhs) noexcept
 
template<class CharType >
std::basic_ostream< CharType > & operator<< (std::basic_ostream< CharType > &output, const Circle &value)
 
template<class CharType >
std::basic_istream< CharType > & operator>> (std::basic_istream< CharType > &input, Circle &value)
 
void Formatter (FormatData &formatData, const Circle &value)
 

Detailed Description

円

Member Typedef Documentation

◆ position_type

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ Circle() [1/20]

SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( )
default

デフォルトコンストラクタ

◆ Circle() [2/20]

constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( size_type  _r)
explicitconstexprnoexcept

中心が { 0, 0 } の円を作成します。

Parameters
_r円の半径

◆ Circle() [3/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arithmetic  _r)
explicitconstexprnoexcept

中心が { 0, 0 } の円を作成します。

Parameters
_r円の半径

◆ Circle() [4/20]

constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( value_type  _x,
value_type  _y,
size_type  _r 
)
constexprnoexcept

円を作成します。

Parameters
_x円の中心の X 座標
_y円の中心の Y 座標
_r円の半径

◆ Circle() [5/20]

template<class X , class Y , class R >
constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( X  _x,
Y  _y,
R  _r 
)
constexprnoexcept

円を作成します。

Template Parameters
X引数の型
Y引数の型
R引数の型
Parameters
_x円の中心の X 座標
_y円の中心の Y 座標
_r円の半径

◆ Circle() [6/20]

constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( position_type  _center,
size_type  _r 
)
constexprnoexcept

円を作成します。

Parameters
_center円の中心座標
_r円の半径

◆ Circle() [7/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( position_type  _center,
Arithmetic  _r 
)
constexprnoexcept

円を作成します。

Parameters
_center円の中心座標
_r円の半径

◆ Circle() [8/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::center_< position_type >  _center,
Arithmetic  _r 
)
constexprnoexcept

円を作成します。

Parameters
_center円の中心座標
_r円の半径

◆ Circle() [9/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::topLeft_< position_type >  topLeft,
Arithmetic  _r 
)
constexprnoexcept

円を作成します。

Parameters
topLeft円に外接する正方形の左上の座標
_r円の半径

◆ Circle() [10/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::topCenter_< position_type >  topCenter,
Arithmetic  _r 
)
constexprnoexcept

円を作成します。

Parameters
topCenter円に外接する正方形の上辺中心の座標
_r円の半径

◆ Circle() [11/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::topRight_< position_type >  topRight,
Arithmetic  _r 
)
constexprnoexcept

円を作成します。

Parameters
topRight円に外接する正方形の右上の座標
_r円の半径

◆ Circle() [12/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::rightCenter_< position_type >  rightCenter,
Arithmetic  _r 
)
constexprnoexcept
Parameters
rightCenter
_r

◆ Circle() [13/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::bottomRight_< position_type >  bottomRight,
Arithmetic  _r 
)
constexprnoexcept
Parameters
bottomRight
_r

◆ Circle() [14/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::bottomCenter_< position_type >  bottomCenter,
Arithmetic  _r 
)
constexprnoexcept
Parameters
bottomCenter
_r

◆ Circle() [15/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::bottomLeft_< position_type >  bottomLeft,
Arithmetic  _r 
)
constexprnoexcept
Parameters
bottomLeft
_r

◆ Circle() [16/20]

SIV3D_CONCEPT_ARITHMETIC constexpr SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::leftCenter_< position_type >  leftCenter,
Arithmetic  _r 
)
constexprnoexcept
Parameters
leftCenter
_r

◆ Circle() [17/20]

SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( position_type  p0,
position_type  p1 
)
noexcept
Parameters
p0
p1

◆ Circle() [18/20]

SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( const position_type &  p0,
const position_type &  p1,
const position_type &  p2 
)
noexcept
Parameters
p0
p1
p2

◆ Circle() [19/20]

SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( const Line &  diameter)
explicitnoexcept
Parameters
diameter

◆ Circle() [20/20]

SIV3D_NODISCARD_CXX20 s3d::Circle::Circle ( Arg::center_< position_type >  _center,
const position_type &  p 
)
noexcept
Parameters
_center
p

Member Function Documentation

◆ arcAsPolygon()

Polygon s3d::Circle::arcAsPolygon ( double  startAngle,
double  angle,
double  innerThickness,
double  outerThickness,
uint32  quality = 24 
) const

◆ area()

constexpr value_type s3d::Circle::area ( ) const
constexprnoexcept

円の面積を返します。

Returns
円の面積

◆ asPolygon()

Polygon s3d::Circle::asPolygon ( uint32  quality = 24) const

円から Polygon を作成します。

Parameters
quality品質
Returns
Polygon

◆ bottom()

constexpr position_type s3d::Circle::bottom ( ) const
constexprnoexcept

円周上で最も下にある点の座標を返します。

Returns
最も下にある点の座標

◆ boundingRect()

constexpr RectF s3d::Circle::boundingRect ( ) const
constexprnoexcept

円に外接する正方形を返します。

Returns
円に外接する正方形

◆ contains()

template<class Shape2DType >
bool s3d::Circle::contains ( const Shape2DType &  other) const

◆ draw() [1/2]

const Circle& s3d::Circle::draw ( const ColorF &  color = Palette::White) const

円を描きます。

Parameters
color円の色
Returns
*this

◆ draw() [2/2]

const Circle& s3d::Circle::draw ( const ColorF &  innerColor,
const ColorF &  outerColor 
) const

円を描きます。

Parameters
innerColor円の内側の色
outerColor円の外側の色
Returns
*this

◆ drawArc() [1/4]

const Circle& s3d::Circle::drawArc ( const LineStyle &  style,
double  startAngle,
double  angle,
double  innerThickness,
double  outerThickness,
const ColorF &  innerColor,
const ColorF &  outerColor 
) const

◆ drawArc() [2/4]

const Circle& s3d::Circle::drawArc ( const LineStyle &  style,
double  startAngle,
double  angle,
double  innerThickness = 1.0,
double  outerThickness = 0.0,
const ColorF &  color = Palette::White 
) const

◆ drawArc() [3/4]

const Circle& s3d::Circle::drawArc ( double  startAngle,
double  angle,
double  innerThickness,
double  outerThickness,
const ColorF &  innerColor,
const ColorF &  outerColor 
) const

◆ drawArc() [4/4]

const Circle& s3d::Circle::drawArc ( double  startAngle,
double  angle,
double  innerThickness = 1.0,
double  outerThickness = 0.0,
const ColorF &  color = Palette::White 
) const

◆ drawFrame() [1/4]

const Circle& s3d::Circle::drawFrame ( double  innerThickness,
double  outerThickness,
const ColorF &  color = Palette::White 
) const

円の枠を描きます。

Parameters
innerThickness基準の円から内側方向への枠の太さ
outerThickness基準の円から外側方向への枠の太さ
color枠の色
Returns
*this

◆ drawFrame() [2/4]

const Circle& s3d::Circle::drawFrame ( double  innerThickness,
double  outerThickness,
const ColorF &  innerColor,
const ColorF &  outerColor 
) const

円の枠を描きます。

Parameters
innerThickness基準の円から内側方向への枠の太さ
outerThickness基準の円から外側方向への枠の太さ
innerColor内側部分の枠の色
outerColor外側部分の枠の色
Returns
*this

◆ drawFrame() [3/4]

const Circle& s3d::Circle::drawFrame ( double  thickness,
const ColorF &  innerColor,
const ColorF &  outerColor 
) const

円の枠を描きます

Parameters
thickness枠の太さ
innerColor内側部分の枠の色
outerColor外側部分の枠の色
Returns
*this

◆ drawFrame() [4/4]

const Circle& s3d::Circle::drawFrame ( double  thickness = 1.0,
const ColorF &  color = Palette::White 
) const

円の枠を描きます

Parameters
thickness枠の太さ
color枠の色
Returns
*this

◆ drawPie() [1/2]

const Circle& s3d::Circle::drawPie ( double  startAngle,
double  angle,
const ColorF &  color = Palette::White 
) const

◆ drawPie() [2/2]

const Circle& s3d::Circle::drawPie ( double  startAngle,
double  angle,
const ColorF &  innerColor,
const ColorF &  outerColor 
) const

◆ drawShadow()

const Circle& s3d::Circle::drawShadow ( const Vec2 &  offset,
double  blurRadius,
double  spread = 0.0,
const ColorF &  color = ColorF{ 0.0, 0.5 } 
) const

◆ getPointByAngle()

position_type s3d::Circle::getPointByAngle ( double  angle) const
noexcept

円周上の点をラジアン (12 時方向が 0, 3 時方向が π/2, 6 時方向が π) で取得します。

Parameters
angle方向(ラジアン)
Returns
円周上の点

◆ hash()

size_t s3d::Circle::hash ( ) const
noexcept

◆ horizontalDiameter()

constexpr Line s3d::Circle::horizontalDiameter ( ) const
constexprnoexcept

◆ intersects()

template<class Shape2DType >
constexpr bool s3d::Circle::intersects ( const Shape2DType &  other) const
constexpr

◆ intersectsAt()

template<class Shape2DType >
Optional<Array<Vec2> > s3d::Circle::intersectsAt ( const Shape2DType &  other) const

◆ left()

constexpr position_type s3d::Circle::left ( ) const
constexprnoexcept

円周上で最も左にある点の座標を返します。

Returns
最も左にある点の座標

◆ leftClicked()

bool s3d::Circle::leftClicked ( ) const
noexcept

円が現在のフレームで左クリックされ始めたかを返します。

Returns
円が現在のフレームで左クリックされ始めた場合 true, それ以外の場合は false

◆ leftPressed()

bool s3d::Circle::leftPressed ( ) const
noexcept

円が左クリックされているかを返します。

Returns
円が左クリックされている場合 true, それ以外の場合は false

◆ leftReleased()

bool s3d::Circle::leftReleased ( ) const
noexcept

現在のフレームで円への左クリックが離されたかを返します。

Returns
現在のフレームで円への左クリックが離された場合 true, それ以外の場合は false

◆ lerp()

constexpr Circle s3d::Circle::lerp ( const Circle &  other,
double  f 
) const
constexprnoexcept

◆ mouseOver()

bool s3d::Circle::mouseOver ( ) const
noexcept

円上にマウスカーソルがあるかを返します。

Returns
円上にマウスカーソルがある場合 true, それ以外の場合は false

◆ moveBy() [1/2]

constexpr Circle& s3d::Circle::moveBy ( position_type  v)
constexprnoexcept

中心座標を移動させます。

Parameters
v移動量
Returns
*this

◆ moveBy() [2/2]

constexpr Circle& s3d::Circle::moveBy ( value_type  _x,
value_type  _y 
)
constexprnoexcept

中心座標を移動させます。

Parameters
_xX 軸方向の移動量
_yY 軸方向の移動量
Returns
*this

◆ movedBy() [1/2]

constexpr Circle s3d::Circle::movedBy ( position_type  v) const
constexprnoexcept

中心座標を移動した新しい円を返します。

Parameters
v移動量
Returns
新しい円

◆ movedBy() [2/2]

constexpr Circle s3d::Circle::movedBy ( value_type  _x,
value_type  _y 
) const
constexprnoexcept

中心座標を移動した新しい円を返します。

Parameters
_xX 軸方向の移動量
_yY 軸方向の移動量
Returns
新しい円

◆ operator()() [1/2]

TexturedCircle s3d::Circle::operator() ( const Texture &  texture) const

◆ operator()() [2/2]

TexturedCircle s3d::Circle::operator() ( const TextureRegion &  textureRegion) const

◆ overwrite()

const Circle& s3d::Circle::overwrite ( Image &  dst,
const Color &  color,
Antialiased  antialiased = Antialiased::Yes 
) const

◆ overwriteFrame()

const Circle& s3d::Circle::overwriteFrame ( Image &  dst,
double  innerThickness,
double  outerThickness,
const Color &  color,
Antialiased  antialiased = Antialiased::Yes 
) const

◆ paint()

const Circle& s3d::Circle::paint ( Image &  dst,
const Color &  color,
Antialiased  antialiased = Antialiased::Yes 
) const

◆ paintFrame()

const Circle& s3d::Circle::paintFrame ( Image &  dst,
double  innerThickness,
double  outerThickness,
const Color &  color,
Antialiased  antialiased = Antialiased::Yes 
) const

◆ perimeter()

constexpr value_type s3d::Circle::perimeter ( ) const
constexprnoexcept

円の周の長さを返します。

Returns
円の周の長さ

◆ pieAsPolygon()

Polygon s3d::Circle::pieAsPolygon ( double  startAngle,
double  angle,
uint32  quality = 24 
) const

◆ right()

constexpr position_type s3d::Circle::right ( ) const
constexprnoexcept

円周上で最も右にある点の座標を返します。

Returns
最も右にある点の座標

◆ rightClicked()

bool s3d::Circle::rightClicked ( ) const
noexcept

円が現在のフレームで右クリックされ始めたかを返します。

Returns
円が現在のフレームで右クリックされ始めた場合 true, それ以外の場合は false

◆ rightPressed()

bool s3d::Circle::rightPressed ( ) const
noexcept

円が右クリックされているかを返します。

Returns
円が右クリックされている場合 true, それ以外の場合は false

◆ rightReleased()

bool s3d::Circle::rightReleased ( ) const
noexcept

現在のフレームで円への右クリックが離されたかを返します。

Returns
現在のフレームで円への右クリックが離された場合 true, それ以外の場合は false

◆ scaled() [1/2]

constexpr Circle s3d::Circle::scaled ( double  s) const
constexprnoexcept

半径を拡大した新しい円を返します。

Parameters
s拡大倍率
Returns
新しい円

◆ scaled() [2/2]

constexpr Ellipse s3d::Circle::scaled ( double  sx,
double  sy 
) const
constexprnoexcept

X 軸、Y 軸上に拡大して楕円を作成します。

Parameters
sxX 軸方向の拡大倍率
syY 軸方向の拡大倍率
Returns
楕円

◆ set() [1/12]

constexpr Circle& s3d::Circle::set ( Arg::bottomCenter_< position_type >  bottomCenter,
size_type  _r 
)
constexprnoexcept

◆ set() [2/12]

constexpr Circle& s3d::Circle::set ( Arg::bottomLeft_< position_type >  bottomLeft,
size_type  _r 
)
constexprnoexcept

◆ set() [3/12]

constexpr Circle& s3d::Circle::set ( Arg::bottomRight_< position_type >  bottomRight,
size_type  _r 
)
constexprnoexcept

◆ set() [4/12]

constexpr Circle& s3d::Circle::set ( Arg::center_< position_type >  _center,
size_type  _r 
)
constexprnoexcept

◆ set() [5/12]

constexpr Circle& s3d::Circle::set ( Arg::leftCenter_< position_type >  leftCenter,
size_type  _r 
)
constexprnoexcept

◆ set() [6/12]

constexpr Circle& s3d::Circle::set ( Arg::rightCenter_< position_type >  rightCenter,
size_type  _r 
)
constexprnoexcept

◆ set() [7/12]

constexpr Circle& s3d::Circle::set ( Arg::topCenter_< position_type >  topCenter,
size_type  _r 
)
constexprnoexcept

◆ set() [8/12]

constexpr Circle& s3d::Circle::set ( Arg::topLeft_< position_type >  topLeft,
size_type  _r 
)
constexprnoexcept

◆ set() [9/12]

constexpr Circle& s3d::Circle::set ( Arg::topRight_< position_type >  topRight,
size_type  _r 
)
constexprnoexcept

◆ set() [10/12]

constexpr Circle& s3d::Circle::set ( const Circle &  circle)
constexprnoexcept

◆ set() [11/12]

constexpr Circle& s3d::Circle::set ( position_type  _center,
size_type  _r 
)
constexprnoexcept

◆ set() [12/12]

constexpr Circle& s3d::Circle::set ( value_type  _x,
value_type  _y,
size_type  _r 
)
constexprnoexcept

◆ setCenter() [1/2]

constexpr Circle& s3d::Circle::setCenter ( position_type  _center)
constexprnoexcept

◆ setCenter() [2/2]

constexpr Circle& s3d::Circle::setCenter ( value_type  _x,
value_type  _y 
)
constexprnoexcept

◆ setPos() [1/11]

constexpr Circle& s3d::Circle::setPos ( Arg::bottomCenter_< position_type >  bottomCenter)
constexprnoexcept

◆ setPos() [2/11]

constexpr Circle& s3d::Circle::setPos ( Arg::bottomLeft_< position_type >  bottomLeft)
constexprnoexcept

◆ setPos() [3/11]

constexpr Circle& s3d::Circle::setPos ( Arg::bottomRight_< position_type >  bottomRight)
constexprnoexcept

◆ setPos() [4/11]

constexpr Circle& s3d::Circle::setPos ( Arg::center_< position_type >  _center)
constexprnoexcept

◆ setPos() [5/11]

constexpr Circle& s3d::Circle::setPos ( Arg::leftCenter_< position_type >  leftCenter)
constexprnoexcept

◆ setPos() [6/11]

constexpr Circle& s3d::Circle::setPos ( Arg::rightCenter_< position_type >  rightCenter)
constexprnoexcept

◆ setPos() [7/11]

constexpr Circle& s3d::Circle::setPos ( Arg::topCenter_< position_type >  topCenter)
constexprnoexcept

◆ setPos() [8/11]

constexpr Circle& s3d::Circle::setPos ( Arg::topLeft_< position_type >  topLeft)
constexprnoexcept

◆ setPos() [9/11]

constexpr Circle& s3d::Circle::setPos ( Arg::topRight_< position_type >  topRight)
constexprnoexcept

◆ setPos() [10/11]

constexpr Circle& s3d::Circle::setPos ( position_type  _center)
constexprnoexcept

◆ setPos() [11/11]

constexpr Circle& s3d::Circle::setPos ( value_type  _x,
value_type  _y 
)
constexprnoexcept

◆ setR()

constexpr Circle& s3d::Circle::setR ( value_type  _r)
constexprnoexcept

◆ stretched() [1/2]

constexpr Ellipse s3d::Circle::stretched ( double  _x,
double  _y 
) const
constexprnoexcept

X 軸、Y 軸上で径を変化させて楕円を作成します。

Parameters
_xX 軸上の径の変化量
_yY 軸上の径の変化量
Returns
楕円

◆ stretched() [2/2]

constexpr Circle s3d::Circle::stretched ( value_type  size) const
constexprnoexcept

半径を変化させた新しい円を返します。

Parameters
size半径の変化量
Returns
新しい円

◆ top()

constexpr position_type s3d::Circle::top ( ) const
constexprnoexcept

円周上で最も上にある点の座標を返します。

Returns
最も上にある点の座標

◆ verticalDiameter()

constexpr Line s3d::Circle::verticalDiameter ( ) const
constexprnoexcept

Friends And Related Function Documentation

◆ Formatter

void Formatter ( FormatData &  formatData,
const Circle &  value 
)
friend

◆ operator!=

constexpr friend bool operator!= ( const Circle &  lhs,
const Circle &  rhs 
)
friend

◆ operator<<

template<class CharType >
std::basic_ostream<CharType>& operator<< ( std::basic_ostream< CharType > &  output,
const Circle &  value 
)
friend

◆ operator==

constexpr friend bool operator== ( const Circle &  lhs,
const Circle &  rhs 
)
friend

◆ operator>>

template<class CharType >
std::basic_istream<CharType>& operator>> ( std::basic_istream< CharType > &  input,
Circle &  value 
)
friend

Member Data Documentation

◆ @9

union { ... }

◆ center

position_type s3d::Circle::center

円の中心座標

◆ r

size_type s3d::Circle::r

円の半径

Remarks
この値が負の時の挙動は未規定です。

◆ x

value_type s3d::Circle::x

円の中心の X 座標

◆ y

value_type s3d::Circle::y

円の中心の Y 座標


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