(クラス)
public abstract Region
ファクトリ public | {Region.empty-region}:Region |
ファクトリ public | {Region.from-rectangle}:Region |
ファクトリ public | {Region.from-vertex-array}:Region |
アクセサ public abstract Region.aligned-rectangle?:
bool
contiguous?: | この Region が連続的である場合、つまり単一のピースで構成されている場合は true を返します。 |
アクセサ public Region.contiguous?:
bool
convex?: | Region が凸型領域であるかどうかをチェックします。 |
アクセサ public abstract Region.convex?:
bool
empty?: | Region がポイントのない領域であるかどうかをチェックします。 |
アクセサ public abstract Region.empty?:
bool
アクセサ public abstract Region.for-loop-count:
int
アクセサ public Region.triangular?:
bool
public abstract | {Region.boundary-intersects-line-segment?}:bool |
clone: | この Region インスタンスと同じ幾何学形状を表す Region インスタンスを生成します。共有データはありません。 |
public abstract | {Region.clone}:Region |
get: | for ループ コンストラクタで Region 内のポイントを繰り返し実行するために使用されます。 |
public abstract | {Region.get-horizontal-spans}:void |
public abstract | {Region.get-spans}:void |
public abstract | {Region.intersect-clone other:Region}:Region |
subtract-clone: | self から他の Region を差し引いた結果を計算します。幾何学的には、self が参照する Region 内にあるポイントと他の領域内にないポイントのセットを意味します。 |
public | {Region.to-outline-path}:Path |
public abstract | {Region.to-source-code}:String |
public abstract | {Region.transform-clone}:Region |
public abstract | {Region.triangulate max-angle:Angle = 10degrees }:(points:{Array-of Distance2d},
indices:{Array-of int}) |
(ファクトリ)
public | {Region.empty-region}:Region |
(ファクトリ)
指定した Path から Region を作成します。
説明
path: Path はこの Region を作成するために使用されます。
戻り値
Region, 新しく作成された Region です。
注意事項
作成された Regionはpath のコピーを作成します。そのため、Region.from-path が呼び出された後に行われた path の変更は結果の Region には反映されません。
path が開いている場合、この Region ファクトリーはそのクローンを作成し、次に path を閉じてから Region を作成します。これは、Region の周辺が閉じたループになっている必要があるためです。
path は y-down 座標系で反時計回りになっている必要があります。
(ファクトリ)
public | {Region.from-rectangle}:Region |
x 軸と y 軸に位置揃えされた四角形の形をした Region オブジェクトを作成します。
x: 四角形の左上隅の x 座標です。
y: 四角形の左上隅の y 座標です。
width: 四角形の幅です。結果の Region の幅は常に正の値です。負の値が指定された場合、Region は width の絶対値だけ上に移動します。結果の Region の幅は、width で指定された Distance の絶対値になります。
height: 四角形の高さです。幅と同様に、結果の Region の高さは常に正の値です。負の値が指定された場合、Region は height の絶対値だけ左に移動し、Region の高さも height の絶対値になります。
戻り値
Region, 新しく作成された Region です。
(ファクトリ)
public | {Region.from-vertex-array}:Region |
Distance2d の指定した配列から Region を作成します。
vertex-array:
Region のアウトラインを表示する
Array-of Distance2d です。この配列の要素は y-down 座標系で反時計回りの順序になっている必要があります。
戻り値
Region, 新しく作成された Region です。
説明
このファクトリーに渡された Distance2d の配列は、凸、凹、または self-intersecting ポリゴンを表すことがあります。
注意事項
閉じていない形状または穴のあいた形状は、このファクトリーでは作成できません。
(ファクトリ)
指定した頂点から Region を作成します。
...: Regionを定義するために順番に使用される、いくつもの Distance2d です。頂点は y-down 座標系で反時計回りになっている必要があります。
戻り値
Region, 新しく作成された Region です。
説明
このファクトリーに渡された Distance2d は、凸、凹、または self-intersecting ポリゴンを表すことがあります。
注意事項
閉じていない形状または穴のあいた形状は、このファクトリーでは作成できません。
(アクセサ)
アクセサ public abstract Region.aligned-rectangle?:
bool Region が x および y 軸に位置揃えされた四角形であるかどうかをチェックします。
戻り値
axis-aligned の四角形である場合は true。それ以外の場合は false。
注意事項
回転した四角形は軸に揃えられた四角形ではありません。その場合、aligned-axix? は false になります。
(アクセサ)
アクセサ public Region.contiguous?:
bool この Region が連続的である場合、つまり単一のピースで構成されている場合は true を返します。
説明
パスが
Region 内の任意のポイントから
Region 内の他のポイントまで、その
Region 内に存在しないポイントに触れることなくトレースできるならば、
Region は連続しています。連続していない
Region は閉じていないと定義されます。
連続した
Region と閉じていない
Region を次の図に示します。右側の
Region は連続していますが、左側の
Region は連続していません。
注意事項
non-contiguous な (閉じていない)
Region は、
Region.from-path ファクトリーを使用した場合に限り作成できます。
閉じていないものへのアクセッサはありません。
Region が閉じているかどうかは
not region.contiguous? を使用するだけでわかります。
(アクセサ)
アクセサ public abstract Region.convex?:
bool Region が凸型領域であるかどうかをチェックします。
戻り値
凸型領域の場合は true、それ以外の場合は false です。
(アクセサ)
アクセサ public abstract Region.empty?:
bool Region がポイントのない領域であるかどうかをチェックします。
戻り値
ポイントがない場合は true、それ以外は false です。
(アクセサ)
アクセサ public abstract Region.for-loop-count:
int for ループ コンストラクタで Region 内のポイントを繰り返し実行するために使用されます。
(アクセサ)
アクセサ public Region.triangular?:
bool この Region で表示された形状が三角形の場合、true を返します。
説明
Region は、連続した 3 つの辺を持つ場合に三角形とみなされます。
注意事項
3 つの共線ポイントで定義される Region も三角形とみなされます。3 つの共線ポイントは変形した三角形を定義します。
(メソッド)
public abstract | {Region.boundary-intersects-line-segment?}:bool |
この Region が線セグメントと交差するかどうかを判別します。
a: この線セグメントの終点。
b: この線セグメントの終点。
(メソッド)
public abstract | {Region.clone}:Region |
この Region インスタンスと同じ幾何学形状を表す Region インスタンスを生成します。共有データはありません。
戻り値
Region,Region のクローンです。
(メソッド)
指定したポイントが Regionの内部にある場合は true を、それ以外の場合は false を返します。
注意事項
このメソッドは Region の境界上のポイントについて true を返します。
(メソッド)
for ループ コンストラクタで Region 内のポイントを繰り返し実行するために使用されます。
(メソッド)
この Region の境界ボックスを取得します。
error-if-empty?: 空の Region で get-bounding-box が呼び出されたとき、例外をスローするかどうかを指定するブールです。既定値は true で、例外がスローされます。error-if-empty? が false に設定され、Region が空の場合、get-bounding-box はすべての戻り値がゼロになっている境界ボックスを返します。
戻り値
x, y, width, height - x, 境界ボックスの左上隅の x 座標です。
- y, 境界ボックスの左上隅の y 座標です。
- width, 境界ボックスの幅。
- height, 境界ボックスの高さ。
説明
このメソッドが返す境界ボックスは、x および y 座標軸に位置揃えされています。
(メソッド)
この Region を完全に含む最小の円を検索します。
戻り値
注意事項
このメソッドは実際に円を計算しますが、高速である必要はありません。
(メソッド)
public abstract | {Region.get-horizontal-spans}:void |
指定した水平線セグメントに沿って Region のすべてのスパンを計算します。
説明
このメソッドは通常
Renderer2d で呼び出され、y 座標で水平線セグメントを指定します。このメソッドは、線に沿ってスパンを計算し、それらの各開始 x 座標を一方の配列に、対応するスパンの (水平) 幅を他の配列に配置します。呼び出し元は両方の配列を提供し、レンダリング中の割り当てを避ける必要があります。
y: すべてのスパンの y 座標です。
start-points: すべてのスパンの開始 x 座標を含める配列です。
lengths: スパンの幅を含める配列です。
注意事項
Region が凸の場合、
start-points 配列と
lengths 配列の長さは 1 になります。
次の画像は、凸
Region の水平スパンを示します。水平スパンは青で表示されます。
(メソッド)
public abstract | {Region.get-spans}:void |
指定した線セグメントに沿って Region のすべてのスパンを計算します。
説明
このメソッドは通常
Renderer2d で呼び出され、始点と終点で線セグメントを指定します。このメソッドは線セグメントに沿ってスパンを計算し、それらの各始点を 1 つの配列に配置し、対応するスパンの終点を他の配列に配置します。呼び出し元は両方の配列を提供し、レンダリング中の割当てを避ける必要があります。
start: この線セグメントの始点。
end: この線セグメントの終点。
start-points: すべてのスパンの始点が入力されている配列です。
end-points: すべてのスパンの終点が入力されている配列です。
注意事項
Region が凸の場合、 start-points 配列と end-points 配列の長さは 1 になります。
(メソッド)
public abstract | {Region.intersect-clone other:Region}:Region |
この Region インスタンスと other で指定された Region インスタンスとの交点を作成します。
other: self との交点が計算される Region。
注意事項
2 つの Region の交点は、両方の入力 Region に含まれているすべてのポイントのセットです。
説明
Region でintersect-clone メソッドを呼び出しても、その Region は変更されません。交点の結果は、常に新しい Region として返されます。
(メソッド)
self から他の Region を差し引いた結果を計算します。幾何学的には、self が参照する Region 内にあるポイントと他の領域内にないポイントのセットを意味します。
other: self から減算される Region です。
説明
Region で subtract-clone メソッドを呼び出しても、その Region は変更されません。違いを表す Region が常に作成され、返されます。
(メソッド)
Region を形成するポイントを繰り返すために使用されるオブジェクトを返します。
(メソッド)
public | {Region.to-outline-path}:Path |
この Region の境界の周りを移動する Path を返します。
戻り値
アウトライン Path.
(メソッド)
public abstract | {Region.to-source-code}:String |
コンパイルすると self と同じ Region を生成する Curl ソース コードを含む文字列を作成します。
(メソッド)
public abstract | {Region.transform-clone}:Region |
この Region に変換を適用します。
説明
self が参照する Region は、transform-clone メソッドでは変化しません。返された Region は、transformation で変換された self の結果です。
(メソッド)
public abstract | {Region.triangulate max-angle:Angle = 10degrees }:(points:{Array-of Distance2d},
indices:{Array-of int}) |
この Region を三角形にします。
max-angle: 曲線の辺を線セグメントで近似するときの、連続するセグメント間の最大許容角度です。このパラメータは、曲線の辺で Region を三角形にするときにだけ使用されます。
戻り値
ポイント、インデックス - ポイント、作成された三角形のポイントです。
- インデックス、ポイントの配列へのインデックスです。3 つの要素はそれぞれ 1 つの三角形を表しています。
(メソッド)
入力 Region で Region のユニオンを計算します。
other: self とのユニオンが計算される Region。
注意事項
幾何学的には、2 つの Region のユニオンはいずれかの Region に属するすべてのポイントのセットです。
説明
Region で union-clone メソッドを呼び出しても、その Region は変更されません。ユニオンの結果は、常に新しい Region として返されます。
戻り値
ユニオンを表す新しく作成された Region です。