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 Circleset (value_type _x, value_type _y, size_type _r) noexcept
 
constexpr Circleset (position_type _center, size_type _r) noexcept
 
constexpr Circleset (Arg::center_< position_type > _center, size_type _r) noexcept
 
constexpr Circleset (Arg::topLeft_< position_type > topLeft, size_type _r) noexcept
 
constexpr Circleset (Arg::topCenter_< position_type > topCenter, size_type _r) noexcept
 
constexpr Circleset (Arg::topRight_< position_type > topRight, size_type _r) noexcept
 
constexpr Circleset (Arg::rightCenter_< position_type > rightCenter, size_type _r) noexcept
 
constexpr Circleset (Arg::bottomRight_< position_type > bottomRight, size_type _r) noexcept
 
constexpr Circleset (Arg::bottomCenter_< position_type > bottomCenter, size_type _r) noexcept
 
constexpr Circleset (Arg::bottomLeft_< position_type > bottomLeft, size_type _r) noexcept
 
constexpr Circleset (Arg::leftCenter_< position_type > leftCenter, size_type _r) noexcept
 
constexpr Circleset (const Circle &circle) noexcept
 
constexpr CirclesetCenter (value_type _x, value_type _y) noexcept
 
constexpr CirclesetCenter (position_type _center) noexcept
 
constexpr CirclesetPos (value_type _x, value_type _y) noexcept
 
constexpr CirclesetPos (position_type _center) noexcept
 
constexpr CirclesetPos (Arg::center_< position_type > _center) noexcept
 
constexpr CirclesetPos (Arg::topLeft_< position_type > topLeft) noexcept
 
constexpr CirclesetPos (Arg::topCenter_< position_type > topCenter) noexcept
 
constexpr CirclesetPos (Arg::topRight_< position_type > topRight) noexcept
 
constexpr CirclesetPos (Arg::rightCenter_< position_type > rightCenter) noexcept
 
constexpr CirclesetPos (Arg::bottomRight_< position_type > bottomRight) noexcept
 
constexpr CirclesetPos (Arg::bottomCenter_< position_type > bottomCenter) noexcept
 
constexpr CirclesetPos (Arg::bottomLeft_< position_type > bottomLeft) noexcept
 
constexpr CirclesetPos (Arg::leftCenter_< position_type > leftCenter) noexcept
 
constexpr CirclesetR (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 CirclemoveBy (value_type _x, value_type _y) noexcept
 中心座標を移動させます。 More...
 
constexpr CirclemoveBy (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 Circlepaint (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circleoverwrite (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const CirclepaintFrame (Image &dst, double innerThickness, double outerThickness, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const CircleoverwriteFrame (Image &dst, double innerThickness, double outerThickness, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Circledraw (const ColorF &color=Palette::White) const
 円を描きます。 More...
 
const Circledraw (const ColorF &innerColor, const ColorF &outerColor) const
 円を描きます。 More...
 
const CircledrawFrame (double thickness=1.0, const ColorF &color=Palette::White) const
 円の枠を描きます More...
 
const CircledrawFrame (double thickness, const ColorF &innerColor, const ColorF &outerColor) const
 円の枠を描きます More...
 
const CircledrawFrame (double innerThickness, double outerThickness, const ColorF &color=Palette::White) const
 円の枠を描きます。 More...
 
const CircledrawFrame (double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 円の枠を描きます。 More...
 
const CircledrawPie (double startAngle, double angle, const ColorF &color=Palette::White) const
 
const CircledrawPie (double startAngle, double angle, const ColorF &innerColor, const ColorF &outerColor) const
 
const CircledrawArc (double startAngle, double angle, double innerThickness=1.0, double outerThickness=0.0, const ColorF &color=Palette::White) const
 
const CircledrawArc (double startAngle, double angle, double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 
const CircledrawArc (const LineStyle &style, double startAngle, double angle, double innerThickness=1.0, double outerThickness=0.0, const ColorF &color=Palette::White) const
 
const CircledrawArc (const LineStyle &style, double startAngle, double angle, double innerThickness, double outerThickness, const ColorF &innerColor, const ColorF &outerColor) const
 
const CircledrawShadow (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,
_y,
_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: