GraphicLibrary  0.5.0
GPolygon 名前空間

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

列挙型

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

関数

void Fill (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &vertex, METHOD method=CROSSING_NUMBER)
 ポリゴン描画関数 [詳解]
 
void Triangle (DrawingArea_IF &draw, 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 GPolygon::Fill ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  vertex,
METHOD  method = CROSSING_NUMBER 
)

ポリゴン描画関数

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

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

◆ Triangle()

void GPolygon::Triangle ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c1,
Coord< int >  c2,
Coord< int >  c3 
)

三角形の塗りつぶし関数

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

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