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

三角形 More...

#include <Triangle.hpp>

Public Types

using position_type = Vec2
 
using value_type = position_type::value_type
 

Public Member Functions

SIV3D_NODISCARD_CXX20 Triangle ()=default
 
constexpr SIV3D_NODISCARD_CXX20 Triangle (value_type sides) noexcept
 
SIV3D_NODISCARD_CXX20 Triangle (value_type sides, value_type angle) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Triangle (value_type x, value_type y, value_type sides) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Triangle (const position_type &pos, value_type sides) noexcept
 
SIV3D_NODISCARD_CXX20 Triangle (value_type x, value_type y, value_type sides, value_type angle) noexcept
 
SIV3D_NODISCARD_CXX20 Triangle (const position_type &pos, value_type sides, value_type angle) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Triangle (value_type x0, value_type y0, value_type x1, value_type y1, value_type x2, value_type y2) noexcept
 
constexpr SIV3D_NODISCARD_CXX20 Triangle (const position_type &_p0, const position_type &_p1, const position_type &_p2) noexcept
 
constexpr Triangleset (value_type x0, value_type y0, value_type x1, value_type y1, value_type x2, value_type y2) noexcept
 
constexpr Triangleset (const position_type &_p0, const position_type &_p1, const position_type &_p2) noexcept
 
constexpr Triangleset (const Triangle &triangle) noexcept
 
constexpr Triangle movedBy (value_type x, value_type y) const noexcept
 
constexpr Triangle movedBy (position_type v) const noexcept
 
constexpr TrianglemoveBy (value_type x, value_type y) noexcept
 
constexpr TrianglemoveBy (position_type v) noexcept
 
constexpr TrianglesetCentroid (value_type x, value_type y) noexcept
 
constexpr TrianglesetCentroid (position_type pos) noexcept
 
constexpr position_type centroid () const noexcept
 
Triangle stretched (value_type size) const noexcept
 
Triangle rotated (value_type angle) const noexcept
 
Triangle rotatedAt (value_type x, value_type y, value_type angle) const noexcept
 
Triangle rotatedAt (position_type pos, value_type angle) const noexcept
 
constexpr Triangle scaled (double s) const noexcept
 
constexpr Triangle scaled (double sx, double sy) const noexcept
 
constexpr Triangle scaled (Vec2 s) const noexcept
 
constexpr Trianglescale (double s) noexcept
 
constexpr Trianglescale (double sx, double sy) noexcept
 
constexpr Trianglescale (Vec2 s) noexcept
 
constexpr Triangle scaledAt (Vec2 pos, double s) const noexcept
 
constexpr Triangle scaledAt (Vec2 pos, double sx, double sy) const noexcept
 
constexpr Triangle scaledAt (Vec2 pos, Vec2 s) const noexcept
 
constexpr TrianglescaleAt (Vec2 pos, double s) noexcept
 
constexpr TrianglescaleAt (Vec2 pos, double sx, double sy) noexcept
 
constexpr TrianglescaleAt (Vec2 pos, Vec2 s) noexcept
 
constexpr position_typep (size_t index) noexcept
 
constexpr const position_typep (size_t index) const noexcept
 
constexpr position_type point (size_t index) const
 
constexpr Line side (size_t index) const
 
constexpr value_type area () const noexcept
 
value_type perimeter () const noexcept
 
constexpr RectF boundingRect () const noexcept
 
Circle getCircumscribedCircle () const noexcept
 
Circle getInscribedCircle () const noexcept
 
Polygon calculateBuffer (double distance) const
 
Polygon calculateRoundBuffer (double distance) const
 
LineString outline (CloseRing closeRing=CloseRing::No) const
 
LineString outline (double distanceFromOrigin, double length) const
 
Polygon asPolygon () const
 
constexpr Triangle lerp (const Triangle &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 Trianglepaint (Image &dst, const Color &color) const
 
const Triangleoverwrite (Image &dst, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const TrianglepaintFrame (Image &dst, int32 thickness, const Color &color) const
 
const TriangleoverwriteFrame (Image &dst, int32 thickness, const Color &color, Antialiased antialiased=Antialiased::Yes) const
 
const Triangledraw (const ColorF &color=Palette::White) const
 
const Triangledraw (const ColorF &color0, const ColorF &color1, const ColorF &color2) const
 
const TriangledrawFrame (double thickness=1.0, const ColorF &color=Palette::White) const
 
const TriangledrawFrame (double innerThickness, double outerThickness, const ColorF &color=Palette::White) const
 

Static Public Member Functions

static Triangle FromPoints (const position_type &baseCenter, const position_type &top, double baseLength) noexcept
 

Public Attributes

position_type p0
 
position_type p1
 
position_type p2
 

Friends

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

Detailed Description

三角形

Member Typedef Documentation

◆ position_type

◆ value_type

Constructor & Destructor Documentation

◆ Triangle() [1/9]

SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( )
default

◆ Triangle() [2/9]

constexpr SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( value_type  sides)
explicitconstexprnoexcept
Parameters
sides

◆ Triangle() [3/9]

SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( value_type  sides,
value_type  angle 
)
noexcept
Parameters
sides
angle

◆ Triangle() [4/9]

constexpr SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( value_type  x,
value_type  y,
value_type  sides 
)
constexprnoexcept
Parameters
x
y
sides

◆ Triangle() [5/9]

constexpr SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( const position_type pos,
value_type  sides 
)
constexprnoexcept
Parameters
pos
sides

◆ Triangle() [6/9]

SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( value_type  x,
value_type  y,
value_type  sides,
value_type  angle 
)
noexcept
Parameters
x
y
sides
angle

◆ Triangle() [7/9]

SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( const position_type pos,
value_type  sides,
value_type  angle 
)
noexcept
Parameters
pos
sides
angle

◆ Triangle() [8/9]

constexpr SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( value_type  x0,
value_type  y0,
value_type  x1,
value_type  y1,
value_type  x2,
value_type  y2 
)
constexprnoexcept
Parameters
x0
y0
x1
y1
x2
y2

◆ Triangle() [9/9]

constexpr SIV3D_NODISCARD_CXX20 s3d::Triangle::Triangle ( const position_type _p0,
const position_type _p1,
const position_type _p2 
)
constexprnoexcept
Parameters
_p0
_p1
_p2

Member Function Documentation

◆ area()

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

◆ asPolygon()

Polygon s3d::Triangle::asPolygon ( ) const

◆ boundingRect()

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

◆ calculateBuffer()

Polygon s3d::Triangle::calculateBuffer ( double  distance) const

◆ calculateRoundBuffer()

Polygon s3d::Triangle::calculateRoundBuffer ( double  distance) const

◆ centroid()

constexpr position_type s3d::Triangle::centroid ( ) const
constexprnoexcept

◆ contains()

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

◆ draw() [1/2]

const Triangle& s3d::Triangle::draw ( const ColorF color0,
const ColorF color1,
const ColorF color2 
) const

◆ draw() [2/2]

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

◆ drawFrame() [1/2]

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

◆ drawFrame() [2/2]

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

◆ FromPoints()

static Triangle s3d::Triangle::FromPoints ( const position_type baseCenter,
const position_type top,
double  baseLength 
)
staticnoexcept

◆ getCircumscribedCircle()

Circle s3d::Triangle::getCircumscribedCircle ( ) const
noexcept

◆ getInscribedCircle()

Circle s3d::Triangle::getInscribedCircle ( ) const
noexcept

◆ hash()

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

◆ intersects()

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

◆ intersectsAt()

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

◆ leftClicked()

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

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

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

◆ leftPressed()

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

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

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

◆ leftReleased()

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

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

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

◆ lerp()

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

◆ mouseOver()

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

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

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

◆ moveBy() [1/2]

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

◆ moveBy() [2/2]

constexpr Triangle& s3d::Triangle::moveBy ( value_type  x,
value_type  y 
)
constexprnoexcept

◆ movedBy() [1/2]

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

◆ movedBy() [2/2]

constexpr Triangle s3d::Triangle::movedBy ( value_type  x,
value_type  y 
) const
constexprnoexcept

◆ outline() [1/2]

LineString s3d::Triangle::outline ( CloseRing  closeRing = CloseRing::No) const

◆ outline() [2/2]

LineString s3d::Triangle::outline ( double  distanceFromOrigin,
double  length 
) const

◆ overwrite()

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

◆ overwriteFrame()

const Triangle& s3d::Triangle::overwriteFrame ( Image dst,
int32  thickness,
const Color color,
Antialiased  antialiased = Antialiased::Yes 
) const

◆ p() [1/2]

constexpr const position_type& s3d::Triangle::p ( size_t  index) const
constexprnoexcept

◆ p() [2/2]

constexpr position_type& s3d::Triangle::p ( size_t  index)
constexprnoexcept

◆ paint()

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

◆ paintFrame()

const Triangle& s3d::Triangle::paintFrame ( Image dst,
int32  thickness,
const Color color 
) const

◆ perimeter()

value_type s3d::Triangle::perimeter ( ) const
noexcept

◆ point()

constexpr position_type s3d::Triangle::point ( size_t  index) const
constexpr

◆ rightClicked()

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

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

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

◆ rightPressed()

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

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

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

◆ rightReleased()

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

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

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

◆ rotated()

Triangle s3d::Triangle::rotated ( value_type  angle) const
noexcept

◆ rotatedAt() [1/2]

Triangle s3d::Triangle::rotatedAt ( position_type  pos,
value_type  angle 
) const
noexcept

◆ rotatedAt() [2/2]

Triangle s3d::Triangle::rotatedAt ( value_type  x,
value_type  y,
value_type  angle 
) const
noexcept

◆ scale() [1/3]

constexpr Triangle& s3d::Triangle::scale ( double  s)
constexprnoexcept

◆ scale() [2/3]

constexpr Triangle& s3d::Triangle::scale ( double  sx,
double  sy 
)
constexprnoexcept

◆ scale() [3/3]

constexpr Triangle& s3d::Triangle::scale ( Vec2  s)
constexprnoexcept

◆ scaleAt() [1/3]

constexpr Triangle& s3d::Triangle::scaleAt ( Vec2  pos,
double  s 
)
constexprnoexcept

◆ scaleAt() [2/3]

constexpr Triangle& s3d::Triangle::scaleAt ( Vec2  pos,
double  sx,
double  sy 
)
constexprnoexcept

◆ scaleAt() [3/3]

constexpr Triangle& s3d::Triangle::scaleAt ( Vec2  pos,
Vec2  s 
)
constexprnoexcept

◆ scaled() [1/3]

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

◆ scaled() [2/3]

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

◆ scaled() [3/3]

constexpr Triangle s3d::Triangle::scaled ( Vec2  s) const
constexprnoexcept

◆ scaledAt() [1/3]

constexpr Triangle s3d::Triangle::scaledAt ( Vec2  pos,
double  s 
) const
constexprnoexcept

◆ scaledAt() [2/3]

constexpr Triangle s3d::Triangle::scaledAt ( Vec2  pos,
double  sx,
double  sy 
) const
constexprnoexcept

◆ scaledAt() [3/3]

constexpr Triangle s3d::Triangle::scaledAt ( Vec2  pos,
Vec2  s 
) const
constexprnoexcept

◆ set() [1/3]

constexpr Triangle& s3d::Triangle::set ( const position_type _p0,
const position_type _p1,
const position_type _p2 
)
constexprnoexcept

◆ set() [2/3]

constexpr Triangle& s3d::Triangle::set ( const Triangle triangle)
constexprnoexcept

◆ set() [3/3]

constexpr Triangle& s3d::Triangle::set ( value_type  x0,
value_type  y0,
value_type  x1,
value_type  y1,
value_type  x2,
value_type  y2 
)
constexprnoexcept

◆ setCentroid() [1/2]

constexpr Triangle& s3d::Triangle::setCentroid ( position_type  pos)
constexprnoexcept

◆ setCentroid() [2/2]

constexpr Triangle& s3d::Triangle::setCentroid ( value_type  x,
value_type  y 
)
constexprnoexcept

◆ side()

constexpr Line s3d::Triangle::side ( size_t  index) const
constexpr

◆ stretched()

Triangle s3d::Triangle::stretched ( value_type  size) const
noexcept

Friends And Related Function Documentation

◆ Formatter

void Formatter ( FormatData formatData,
const Triangle value 
)
friend

◆ operator!=

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

◆ operator<<

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

◆ operator==

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

◆ operator>>

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

Member Data Documentation

◆ p0

position_type s3d::Triangle::p0

◆ p1

position_type s3d::Triangle::p1

◆ p2

position_type s3d::Triangle::p2

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