![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
多角形作成ユーティリティ More...
#include <Shape2D.hpp>
Public Member Functions | |
| SIV3D_NODISCARD_CXX20 | Shape2D ()=default |
| デフォルトコンストラクタ More... | |
| SIV3D_NODISCARD_CXX20 | Shape2D (Array< Float2 > vertices, Array< TriangleIndex > indices) |
| 頂点配列と頂点インデックスから多角形を作成します。 More... | |
| const Array< Float2 > & | vertices () const noexcept |
| 頂点座標の配列を返します。 More... | |
| const Array< TriangleIndex > | indices () const noexcept |
| 頂点インデックスの配列を返します。 More... | |
| const Shape2D & | draw (const ColorF &color=Palette::White) const |
| 図形を描画します。 More... | |
| const Shape2D & | drawFrame (double thickness=1.0, const ColorF &color=Palette::White) const |
| 図形の枠を描画します。 More... | |
| const Shape2D & | drawWireframe (double thickness=1.0, const ColorF &color=Palette::White) const |
| 図形を構成する三角形をワイヤフレームで描画します。 More... | |
| Polygon | asPolygon () const |
| 図形を Polygon として返します。 More... | |
| Buffer2D | toBuffer2D (const Vec2 &uvOrigin, const Vec2 &uvScale) const |
| 図形に UV 座標をマッピングして Buffer2D を作成します。 More... | |
| Buffer2D | toBuffer2D (Arg::center_< Vec2 > uvCenter, const Vec2 &uvScale) const |
| 図形に UV 座標をマッピングして Buffer2D を作成します。 More... | |
| Buffer2D | toBuffer2D (Arg::center_< Vec2 > uvCenter, const Vec2 &uvScale, double uvRotation) const |
| 図形に UV 座標をマッピングして Buffer2D を作成します。 More... | |
| Buffer2D | toBuffer2D (const Mat3x2 &uvMat) const |
| 図形に UV 座標をマッピングして Buffer2D を作成します。 More... | |
Static Public Member Functions | |
| static Shape2D | Cross (double r, double width, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| × の形状を作成します。 More... | |
| static Shape2D | Plus (double r, double width, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 十字形を作成します。 More... | |
| static Shape2D | Pentagon (double r, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 正五角形を作成します。 More... | |
| static Shape2D | Hexagon (double r, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 正六角形を作成します。 More... | |
| static Shape2D | Ngon (uint32 n, double r, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 正 N 角形を作成します。 More... | |
| static Shape2D | Star (double r, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 五芒星(★)を作成します。 More... | |
| static Shape2D | NStar (uint32 n, double rOuter, double rInner, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| 星形を作成します。 More... | |
| static Shape2D | Arrow (const Vec2 &from, const Vec2 &to, double width, const Vec2 &headSize) |
| 矢印を作成します。 More... | |
| static Shape2D | Arrow (const Line &line, double width, const Vec2 &headSize) |
| 矢印を作成します。 More... | |
| static Shape2D | DoubleHeadedArrow (const Vec2 &from, const Vec2 &to, double width, const Vec2 &headSize) |
| 両端にアローヘッドを持つ矢印を作成します。 More... | |
| static Shape2D | DoubleHeadedArrow (const Line &line, double width, const Vec2 &headSize) |
| 両端にアローヘッドを持つ矢印を作成します。 More... | |
| static Shape2D | Rhombus (double w, double h, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| ひし形を作成します。 More... | |
| static Shape2D | RectBalloon (const RectF &rect, const Vec2 &target, double pointingRootRatio=0.5) |
| 長方形と三角形による吹き出し形状を作成します。 More... | |
| static Shape2D | Stairs (const Vec2 &base, double w, double h, uint32 steps, bool upStairs=true) |
| 階段の形状を作成します。 More... | |
| static Shape2D | Heart (double r, const Vec2 ¢er=Vec2{ 0, 0 }, double angle=0.0) |
| ハート形を作成します。 More... | |
| static Shape2D | Squircle (double r, const Vec2 ¢er, uint32 quality) |
| 正方形と円の中間の形状 (Squircle) を作成します。 More... | |
多角形作成ユーティリティ
|
default |
デフォルトコンストラクタ
| SIV3D_NODISCARD_CXX20 s3d::Shape2D::Shape2D | ( | Array< Float2 > | vertices, |
| Array< TriangleIndex > | indices | ||
| ) |
頂点配列と頂点インデックスから多角形を作成します。
| vertices | 頂点配列 |
| indices | 頂点インデックス |
|
static |
矢印を作成します。
| line | 矢印の始点と終点を表す線分 |
| width | 矢印の幅(ピクセル) |
| headSize | 矢印の先端部分のサイズ(ピクセル) |
|
static |
矢印を作成します。
| from | 矢印の始点の座標 |
| to | 矢印の終点の座標 |
| width | 矢印の幅(ピクセル) |
| headSize | 矢印の先端部分のサイズ(ピクセル) |
|
static |
× の形状を作成します。
| r | 基準となる円の半径(ピクセル) |
| width | パーツの幅(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
両端にアローヘッドを持つ矢印を作成します。
| line | 矢印の始点と終点を表す線分 |
| width | 矢印の幅(ピクセル) |
| headSize | 矢印の先端部分のサイズ(ピクセル) |
|
static |
両端にアローヘッドを持つ矢印を作成します。
| from | 矢印の始点の座標 |
| to | 矢印の終点の座標 |
| width | 矢印の幅(ピクセル) |
| headSize | 矢印の先端部分のサイズ(ピクセル) |
図形を描画します。
| color | 色 |
| const Shape2D& s3d::Shape2D::drawFrame | ( | double | thickness = 1.0, |
| const ColorF & | color = Palette::White |
||
| ) | const |
図形の枠を描画します。
| thickness | 枠の太さ |
| color | 色 |
| const Shape2D& s3d::Shape2D::drawWireframe | ( | double | thickness = 1.0, |
| const ColorF & | color = Palette::White |
||
| ) | const |
図形を構成する三角形をワイヤフレームで描画します。
| thickness | ワイヤフレームの太さ |
| color | 色 |
|
static |
ハート形を作成します。
| r | 外接する円の半径(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
正六角形を作成します。
| r | 外接する円の半径(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
noexcept |
頂点インデックスの配列を返します。
|
static |
正 N 角形を作成します。
| n | N 角形の N (3 以上) |
| r | 外接する円の半径(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
星形を作成します。
| n | 星の先端の個数 (3 以上) |
| rOuter | 外側の頂点の中心からの距離(ピクセル) |
| rInner | 内側の頂点の中心からの距離(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
正五角形を作成します。
| r | 外接する円の半径(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
十字形を作成します。
| r | 基準となる円の半径(ピクセル) |
| width | パーツの幅(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
|
static |
長方形と三角形による吹き出し形状を作成します。
| rect | 長方形エリア |
| target | 吹き出しの先端の位置 |
| pointingRootRatio | 吹き出しの三角形部分の大きさ [0.0, 1.0] |
|
static |
ひし形を作成します。
| w | ひし形の幅 |
| h | ひし形の高さ |
| center | 中心座標 |
| angle | 時計回りの回転角度 |
正方形と円の中間の形状 (Squircle) を作成します。
| r | 円の半径 |
| center | 中心座標 |
| quality | 品質 |
|
static |
階段の形状を作成します。
| base | 階段の基準位置 |
| w | 階段全体の幅 |
| h | 階段全体の高さ |
| steps | 階段の段数 |
| upStairs | 右上に上る向きであるか |
|
static |
五芒星(★)を作成します。
| r | 外接する円の半径(ピクセル) |
| center | 中心座標 |
| angle | 時計回りの回転角度 |