LIBEUNOMIA
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
eunomia::HexPainter< C_ > クラステンプレート

正六角形マス描畫クラス [詳解]

#include <hexpainter.h>

eunomia::HexPainter< C_ > 連携図

公開メンバ関数

 HexPainter (int r, int p0, int q0) noexcept
 構築子
 
void resetOrigin (int p0, int q0) noexcept
 原點の再設定
 
void resetRadius (int r) noexcept
 HEXの大きさの再設定
 
void getOrigin (int &p, int &q) const noexcept
 原點の取得
 
int getRadius () const noexcept
 HEXの大きさの取得
 
void draw (ImageBuffer< C_ > &pict, int x, int y, const C_ &color)
 HEX外周の描畫
 
void draw (ImageBuffer< C_ > &pict, int x, int y, int w, int h, const C_ &color)
 指定範圍のHEX外周の描畫
 
void fill (ImageBuffer< C_ > &pict, int x, int y, const C_ &color)
 HEXの塗り潰し
 
void fill (ImageBuffer< C_ > &pict, int x, int y, int w, int h, const C_ &color)
 指定範圍のHEXの塗り潰し
 
void getHexPosition (int p, int q, int &x, int &y)
 HEX位置の取得
 
void getPixelPosition (int x, int y, int &p, int &q)
 ピクセル座標の取得
 
void getPixelPosition (int x, int y, double &p, double &q)
 ピクセル位置の取得
 
int distance (int x0, int y0, int x1, int y1)
 距離の取得
 

詳解

template<class C_>
class eunomia::HexPainter< C_ >

正六角形マス描畫クラス

正六角形のマスを ImageBuffer<C_> に描畫する。

内部狀態として以下の値を保持し、それらに基づいて正六角形の升目を描畫する。

構築子と解体子

◆ HexPainter()

template<class C_ >
eunomia::HexPainter< C_ >::HexPainter ( int r,
int p0,
int q0 )
inlinenoexcept

構築子

内部狀態を與へて初期化する。

引数
rHEXの邊の長さR
p0HEX(0, 0)の中心の水平座標P0
q0HEX(0, 0)の中心の垂直座標Q0

関数詳解

◆ distance()

template<class C_ >
int eunomia::HexPainter< C_ >::distance ( int x0,
int y0,
int x1,
int y1 )
inline

距離の取得

HEX(x0, y0)と(x1, y1)の距離を取得する。

◆ draw() [1/2]

template<class C_ >
void eunomia::HexPainter< C_ >::draw ( ImageBuffer< C_ > & pict,
int x,
int y,
const C_ & color )
inline

HEX外周の描畫

HEX(x, y)の外周を色colorで描畫する。

引数
pict描畫對象のイメージバッファ
xHEXの水平座標
yHEXの垂直座標
colorHEXの外周を描畫する色
呼び出し関係図:

◆ draw() [2/2]

template<class C_ >
void eunomia::HexPainter< C_ >::draw ( ImageBuffer< C_ > & pict,
int x,
int y,
int w,
int h,
const C_ & color )
inline

指定範圍のHEX外周の描畫

HEX(x, y)-(x + w - 1, y + h - 1)の外周を色colで描畫する。

引数
pict描畫對象のイメージバッファ
x領域左上のHEXの水平座標
y領域左上のHEXの垂直座標
w領域の幅
h領域の高さ
colHEX外周を描畫する色
呼び出し関係図:

◆ fill() [1/2]

template<class C_ >
void eunomia::HexPainter< C_ >::fill ( ImageBuffer< C_ > & pict,
int x,
int y,
const C_ & color )
inline

HEXの塗り潰し

HEX(x, y)を色colで塗り潰す。

引数
pict描畫對象のイメージバッファ
xHEXのx座標
yHEXのy座標
colHEXを塗り潰す色

◆ fill() [2/2]

template<class C_ >
void eunomia::HexPainter< C_ >::fill ( ImageBuffer< C_ > & pict,
int x,
int y,
int w,
int h,
const C_ & color )
inline

指定範圍のHEXの塗り潰し

HEX(x, y)を色colで塗り潰す。

引数
pict描畫對象のイメージバッファ
x領域左上のHEXの水平座標
y領域左上のHEXの垂直座標
w領域の幅
h領域の高さ
colHEXを塗り潰す色
呼び出し関係図:

◆ getHexPosition()

template<class C_ >
void eunomia::HexPainter< C_ >::getHexPosition ( int p,
int q,
int & x,
int & y )
inline

HEX位置の取得

ピクセル(p, q)を含むHEX(x, y)を取得する。

引数
[in]pピクセルの水平座標
[in]qピクセルの垂直座標
[out]xHEXの水平座標
[out]yHEXの垂直座標
呼び出し関係図:

◆ getOrigin()

template<class C_ >
void eunomia::HexPainter< C_ >::getOrigin ( int & p,
int & q ) const
inlinenoexcept

原點の取得

HEX(0, 0)の中心のピクセル座標(P0, Q0)を取得する。

引数
[out]pP0
[out]qQ0

◆ getPixelPosition() [1/2]

template<class C_ >
void eunomia::HexPainter< C_ >::getPixelPosition ( int x,
int y,
double & p,
double & q )
inline

ピクセル位置の取得

HEX(x, y)の中心のピクセル座標(p, q)を取得する。

引数
[in]xHEXの水平座標
[in]yHEXの垂直座標
[out]pピクセルの水平座標
[out]qピクセルの垂直座標

◆ getPixelPosition() [2/2]

template<class C_ >
void eunomia::HexPainter< C_ >::getPixelPosition ( int x,
int y,
int & p,
int & q )
inline

ピクセル座標の取得

HEX(x, y)の中心のピクセル座標(p, q)を取得する。

引数
[in]xHEXの水平座標
[in]yHEXの垂直座標
[out]pピクセルの水平座標
[out]qピクセルの垂直座標

◆ getRadius()

template<class C_ >
int eunomia::HexPainter< C_ >::getRadius ( ) const
inlinenoexcept

HEXの大きさの取得

HEXの一邊の長さ(=半徑)Rを取得する。

◆ resetOrigin()

template<class C_ >
void eunomia::HexPainter< C_ >::resetOrigin ( int p0,
int q0 )
inlinenoexcept

原點の再設定

HEX(0, 0)の中心のピクセル座標(P0, Q0)を變更する。

引数
p0新たなP0
q0新たなQ0

◆ resetRadius()

template<class C_ >
void eunomia::HexPainter< C_ >::resetRadius ( int r)
inlinenoexcept

HEXの大きさの再設定

HEXの一邊の長さ(=半徑)Rを變更する。

引数
r新たなR

このクラス詳解は次のファイルから抽出されました: