GraphicLibrary  0.5.0
tadah_fussy::gl::shape::polygon 名前空間

スキャン・ライン・コンバージョンによるポリゴン描画用クラス [詳解]

列挙型

enum  METHOD { CROSSING_NUMBER , WINDING_NUMBER }
 描画領域の判定方法 [詳解]
 

関数

void Fill (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, const std::vector< Coord< int > > &vertex, METHOD method=CROSSING_NUMBER)
 ポリゴン描画関数 [詳解]
 
void Triangle (canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, Coord< int > c1, Coord< int > c2, Coord< int > c3)
 三角形の塗りつぶし関数 [詳解]
 

詳解

スキャン・ライン・コンバージョンによるポリゴン描画用クラス

列挙型詳解

◆ METHOD

描画領域の判定方法

ポリゴンの辺が交差している場合の描画領域判定として、 偶奇判定 (Crossing Number Algorithm) と 巻き数判定 (Winding Number Algorithm) のいずれかを指定することができる

列挙値
CROSSING_NUMBER 

Crossing Number Algorithm

WINDING_NUMBER 

Winding Number Algorithm

関数詳解

◆ Fill()

void tadah_fussy::gl::shape::polygon::Fill ( canvas::DrawingArea_IF draw,
pen::GPixelOp pixelOp,
const std::vector< Coord< int > > &  vertex,
METHOD  method = CROSSING_NUMBER 
)

ポリゴン描画関数

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp、頂点 vertex が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
vertex描画するポリゴンの頂点
method描画領域の判定方法

◆ Triangle()

void tadah_fussy::gl::shape::polygon::Triangle ( canvas::DrawingArea_IF draw,
pen::GPixelOp pixelOp,
Coord< int >  c1,
Coord< int >  c2,
Coord< int >  c3 
)

三角形の塗りつぶし関数

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c1,c2,c3三角形の頂点