![]() |
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 | 時計回りの回転角度 |