GraphicLibrary  0.5.0
GEllipse 名前空間

楕円描画用関数 [詳解]

関数

bool GetParamByRectangle (Coord< int > c1, Coord< int > c2, Coord< int > *o, int *r, Coord< int > *k)
 二点を対角線とする長方形の頂点を通る楕円のパラメータを求める [詳解]
 
void Stroke (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > o, int r, Coord< int > k)
 楕円描画関数 [詳解]
 
void Fill (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > o, int r, Coord< int > k)
 楕円塗りつぶし関数 [詳解]
 
void Draw (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > o, int r, Coord< int > k, bool filled=false)
 楕円描画/塗りつぶし関数 [詳解]
 
void Stroke_2p (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > c1, Coord< int > c2)
 二点を対角線とする長方形の頂点を通る楕円を描画する [詳解]
 
void Fill_2p (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > c1, Coord< int > c2)
 二点を対角線とする長方形の頂点を通る楕円を塗りつぶす [詳解]
 
void Draw_2p (DrawingArea_IF &draw, GPixelOp &pixelOp, const Coord< int > &c1, const Coord< int > &c2, bool filled=false)
 二点を対角線とする長方形の頂点を通る楕円を描画または塗りつぶす [詳解]
 

詳解

楕円描画用関数

関数詳解

◆ Draw()

void GEllipse::Draw ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  o,
int  r,
Coord< int >  k,
bool  filled = false 
)
inline

楕円描画/塗りつぶし関数

引数 filled に応じて GEllipse::StrokeGEllipse::Fill を切り替えて呼び出す

半径 r、係数 k の中にゼロ以下の値が含まれる場合は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
o楕円の中心
r半径
k係数
filled塗りつぶしをするか
戻り値
なし

◆ Draw_2p()

void GEllipse::Draw_2p ( DrawingArea_IF draw,
GPixelOp pixelOp,
const Coord< int > &  c1,
const Coord< int > &  c2,
bool  filled = false 
)
inline

二点を対角線とする長方形の頂点を通る楕円を描画または塗りつぶす

引数 filled に応じて GEllipse::Stroke_2pGEllipse::Fill_2p を切り替えて呼び出す。

長方形が線分となる場合 ( 二点の X / Y 座標のいずれかが等しくなった場合 ) は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c1,c2対角線の両端点
filled塗りつぶしをするか
戻り値
なし

◆ Fill()

void GEllipse::Fill ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  o,
int  r,
Coord< int >  k 
)

楕円塗りつぶし関数

楕円 a( x - o.x )^2 + b( y - o.y )^2 = r^2 を塗りつぶす

半径 r、係数 k の中にゼロ以下の値が含まれる場合は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
o楕円の中心
r半径
k係数
戻り値
なし

◆ Fill_2p()

void GEllipse::Fill_2p ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c1,
Coord< int >  c2 
)

二点を対角線とする長方形の頂点を通る楕円を塗りつぶす

長方形が線分となる場合 ( 二点の X / Y 座標のいずれかが等しくなった場合 ) は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c1,c2対角線の両端点
戻り値
なし

◆ GetParamByRectangle()

bool GEllipse::GetParamByRectangle ( Coord< int >  c1,
Coord< int >  c2,
Coord< int > *  o,
int *  r,
Coord< int > *  k 
)

二点を対角線とする長方形の頂点を通る楕円のパラメータを求める

楕円のパラメータは無限に存在するため、楕円の中心から対角線の端点への相対座標(u,v)に対し k = Coord( v, u ), r = uv( u + v ) を代表値とする。

引数
c1,c2対角線の座標
o求めた中心座標を代入する変数へのポインタ
r求めた半径を代入する変数へのポインタ
k求めた係数を代入する変数へのポインタ ( a( x - o.x )^2 + b( y - o.y )^2 = r^2 に対する ( a, b ) )
戻り値
長方形が線分となる場合は false を返す

◆ Stroke()

void GEllipse::Stroke ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  o,
int  r,
Coord< int >  k 
)

楕円描画関数

楕円 a( x - o.x )^2 + b( y - o.y )^2 = r^2 を描画する

半径 r、係数 k の中にゼロ以下の値が含まれる場合は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
o楕円の中心
r半径
k係数
戻り値
なし

◆ Stroke_2p()

void GEllipse::Stroke_2p ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c1,
Coord< int >  c2 
)

二点を対角線とする長方形の頂点を通る楕円を描画する

長方形が線分となる場合 ( 二点の X / Y 座標のいずれかが等しくなった場合 ) は処理をしない ( エラーにはならないことに注意 )。

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

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c1,c2対角線の両端点
戻り値
なし