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

楕円 More...

#include <Ellipse.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 Ellipse ()=default
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (size_type r) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (size_type _a, size_type _b) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (value_type _x, value_type _y, size_type r) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (value_type _x, value_type _y, size_type _a, size_type _b) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (position_type _center) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (const position_type &_center, size_type r) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (const position_type &_center, size_type _a, size_type _b) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (value_type _x, value_type _y, const Vec2 &_axes) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (const position_type &_center, const Vec2 &_axes) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (const Circle &circle) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Ellipse (const RectF &rect) noexcept
 
constexpr Ellipseset (value_type _x, value_type _y, size_type _a, size_type _b) noexcept
 
constexpr Ellipseset (value_type _x, value_type _y, size_type _r) noexcept
 
constexpr Ellipseset (const position_type &_center, size_type _r) noexcept
 
constexpr Ellipseset (const position_type &_center, size_type _a, size_type _b) noexcept
 
constexpr Ellipseset (value_type _x, value_type _y, const Vec2 &_axes) noexcept
 
constexpr Ellipseset (const position_type &_center, const Vec2 &_axes) noexcept
 
constexpr Ellipseset (const Circle &circle) noexcept
 
constexpr Ellipseset (const RectF &rect) noexcept
 
constexpr Ellipseset (const Ellipse &ellipse) noexcept
 
constexpr EllipsesetCenter (value_type _x, value_type _y) noexcept
 
constexpr EllipsesetCenter (const position_type &_center) noexcept
 
constexpr EllipsesetPos (value_type _x, value_type _y) noexcept
 
constexpr EllipsesetPos (const position_type &_center) noexcept
 
constexpr EllipsesetAxes (value_type _r) noexcept
 
constexpr EllipsesetAxes (size_type _a, size_type _b) noexcept
 
constexpr EllipsesetAxes (const Vec2 &_axes) noexcept
 
constexpr Ellipse movedBy (value_type _x, value_type _y) const noexcept
 
constexpr Ellipse movedBy (const position_type &v) const noexcept
 
constexpr EllipsemoveBy (value_type _x, value_type _y) noexcept
 
constexpr EllipsemoveBy (const position_type &v) noexcept
 
constexpr Ellipse stretched (value_type size) const noexcept
 
constexpr Ellipse stretched (double _x, double _y) const noexcept
 
constexpr Ellipse scaled (double s) const noexcept
 
constexpr Ellipse scaled (double sx, double sy) const noexcept
 
constexpr position_type top () const noexcept
 
constexpr position_type right () const noexcept
 
constexpr position_type bottom () const noexcept
 
constexpr position_type left () const noexcept
 
constexpr Line horizontalDiameter () const noexcept
 
constexpr Line verticalDiameter () const noexcept
 
constexpr value_type area () const noexcept
 
constexpr Circle boundingCircle () const noexcept
 
constexpr RectF boundingRect () const noexcept
 
Polygon asPolygon (uint32 quality=24) const
 
constexpr Ellipse lerp (const Ellipse &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
 
bool leftPressed () const noexcept
 
bool leftReleased () const noexcept
 
bool rightClicked () const noexcept
 
bool rightPressed () const noexcept
 
bool rightReleased () const noexcept
 
bool mouseOver () const noexcept
 
const Ellipsepaint (Image &dst, const Color &color) const
 
const Ellipseoverwrite (Image &dst, const Color &color) const
 
const Ellipsedraw (const ColorF &color=Palette::White) const
 
const Ellipsedraw (const ColorF &innerColor, const ColorF &outerColor) const
 
const EllipsedrawFrame (double thickness=1.0, const ColorF &color=Palette::White) const
 
const EllipsedrawFrame (double innerThickness, double outerThickness, const ColorF &color=Palette::White) const
 

Public Attributes

union {
   position_type   center
 楕円の中心座標 More...
 
   struct {
      value_type   x
 楕円の中心の X 座標 More...
 
      value_type   y
 楕円の中心の Y 座標 More...
 
   } 
 
}; 
 
union {
   position_type   axes
 楕円の X 軸 Y 軸に沿った半径 More...
 
   struct {
      value_type   a
 楕円の X 軸上の半径 More...
 
      value_type   b
 楕円の Y 軸上の半径 More...
 
   } 
 
}; 
 

Friends

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

Detailed Description

楕円

Member Typedef Documentation

◆ position_type

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ Ellipse() [1/12]

SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( )
default

◆ Ellipse() [2/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( size_type  r)
explicitconstexprnoexcept
Parameters
r

◆ Ellipse() [3/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( size_type  _a,
size_type  _b 
)
constexprnoexcept
Parameters
_a
_b

◆ Ellipse() [4/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( value_type  _x,
value_type  _y,
size_type  r 
)
constexprnoexcept
Parameters
_x
_y
r

◆ Ellipse() [5/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( value_type  _x,
value_type  _y,
size_type  _a,
size_type  _b 
)
constexprnoexcept
Parameters
_x
_y
_a
_b

◆ Ellipse() [6/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( position_type  _center)
explicitconstexprnoexcept
Parameters
_center

◆ Ellipse() [7/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( const position_type _center,
size_type  r 
)
constexprnoexcept
Parameters
_center
_r

◆ Ellipse() [8/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( const position_type _center,
size_type  _a,
size_type  _b 
)
constexprnoexcept
Parameters
_center
_a
_b

◆ Ellipse() [9/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( value_type  _x,
value_type  _y,
const Vec2 _axes 
)
constexprnoexcept
Parameters
_x
_y
_axes

◆ Ellipse() [10/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( const position_type _center,
const Vec2 _axes 
)
constexprnoexcept
Parameters
_center
_axes

◆ Ellipse() [11/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( const Circle circle)
explicitconstexprnoexcept
Parameters
circle

◆ Ellipse() [12/12]

constexpr SIV3D_NODISCARD_CXX20 s3d::Ellipse::Ellipse ( const RectF rect)
explicitconstexprnoexcept
Parameters
rect

Member Function Documentation

◆ area()

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

◆ asPolygon()

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

◆ bottom()

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

◆ boundingCircle()

constexpr Circle s3d::Ellipse::boundingCircle ( ) const
constexprnoexcept

◆ boundingRect()

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

◆ contains()

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

◆ draw() [1/2]

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

◆ draw() [2/2]

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

◆ drawFrame() [1/2]

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

◆ drawFrame() [2/2]

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

◆ hash()

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

◆ horizontalDiameter()

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

◆ intersects()

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

◆ intersectsAt()

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

◆ left()

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

◆ leftClicked()

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

◆ leftPressed()

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

◆ leftReleased()

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

◆ lerp()

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

◆ mouseOver()

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

◆ moveBy() [1/2]

constexpr Ellipse& s3d::Ellipse::moveBy ( const position_type v)
constexprnoexcept

◆ moveBy() [2/2]

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

◆ movedBy() [1/2]

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

◆ movedBy() [2/2]

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

◆ overwrite()

const Ellipse& s3d::Ellipse::overwrite ( Image dst,
const Color color 
) const

◆ paint()

const Ellipse& s3d::Ellipse::paint ( Image dst,
const Color color 
) const

◆ right()

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

◆ rightClicked()

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

◆ rightPressed()

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

◆ rightReleased()

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

◆ scaled() [1/2]

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

◆ scaled() [2/2]

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

◆ set() [1/9]

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

◆ set() [2/9]

constexpr Ellipse& s3d::Ellipse::set ( const Ellipse ellipse)
constexprnoexcept

◆ set() [3/9]

constexpr Ellipse& s3d::Ellipse::set ( const position_type _center,
const Vec2 _axes 
)
constexprnoexcept

◆ set() [4/9]

constexpr Ellipse& s3d::Ellipse::set ( const position_type _center,
size_type  _a,
size_type  _b 
)
constexprnoexcept

◆ set() [5/9]

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

◆ set() [6/9]

constexpr Ellipse& s3d::Ellipse::set ( const RectF rect)
constexprnoexcept

◆ set() [7/9]

constexpr Ellipse& s3d::Ellipse::set ( value_type  _x,
value_type  _y,
const Vec2 _axes 
)
constexprnoexcept

◆ set() [8/9]

constexpr Ellipse& s3d::Ellipse::set ( value_type  _x,
value_type  _y,
size_type  _a,
size_type  _b 
)
constexprnoexcept

◆ set() [9/9]

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

◆ setAxes() [1/3]

constexpr Ellipse& s3d::Ellipse::setAxes ( const Vec2 _axes)
constexprnoexcept

◆ setAxes() [2/3]

constexpr Ellipse& s3d::Ellipse::setAxes ( size_type  _a,
size_type  _b 
)
constexprnoexcept

◆ setAxes() [3/3]

constexpr Ellipse& s3d::Ellipse::setAxes ( value_type  _r)
constexprnoexcept

◆ setCenter() [1/2]

constexpr Ellipse& s3d::Ellipse::setCenter ( const position_type _center)
constexprnoexcept

◆ setCenter() [2/2]

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

◆ setPos() [1/2]

constexpr Ellipse& s3d::Ellipse::setPos ( const position_type _center)
constexprnoexcept

◆ setPos() [2/2]

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

◆ stretched() [1/2]

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

◆ stretched() [2/2]

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

◆ top()

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

◆ verticalDiameter()

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

Friends And Related Function Documentation

◆ Formatter

void Formatter ( FormatData formatData,
const Ellipse value 
)
friend

◆ operator!=

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

◆ operator<<

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

◆ operator==

constexpr friend bool operator== ( const Ellipse lhs,
const Ellipse rhs 
)
friend

◆ operator>>

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

Member Data Documentation

◆ @25

union { ... }

◆ @27

union { ... }

◆ a

value_type s3d::Ellipse::a

楕円の X 軸上の半径

◆ axes

position_type s3d::Ellipse::axes

楕円の X 軸 Y 軸に沿った半径

◆ b

value_type s3d::Ellipse::b

楕円の Y 軸上の半径

◆ center

position_type s3d::Ellipse::center

楕円の中心座標

◆ x

value_type s3d::Ellipse::x

楕円の中心の X 座標

◆ y

value_type s3d::Ellipse::y

楕円の中心の Y 座標


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