クラス fk_TriTexture

3角形テクスチャを生成、管理するクラス [詳細]

fk_TriTextureに対する継承グラフ
Inheritance graph
[凡例]
fk_TriTextureのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 fk_TriTexture (fk_Image *image=(fk_Image *) NULL)
 コンストラクタ
 ~fk_TriTexture ()
 デストラクタ
void init (void)
 初期化関数
bool setTextureCoord (int ID, double x, double y)
 テクスチャ座標設定関数1
bool setTextureCoord (int ID, fk_TexCoord coord)
 テクスチャ座標設定関数2
fk_TexCoord getTextureCoord (int ID)
 テクスチャ座標取得関数
bool setVertexPos (int ID, double x, double y, double z)
 頂点位置ベクトル設定関数1
bool setVertexPos (int ID, fk_Vector pos)
 頂点位置ベクトル設定関数2
fk_Vector getVertexPos (int ID)
 頂点位置ベクトル取得関数

説明

3角形テクスチャを生成、管理するクラス

このクラスは、3角形のテクスチャを制御する機能を提供します。

3角形テクスチャを生成する大まかな手順は以下のようになります。

  1. 画像を入力する。
  2. 各頂点のテクスチャ座標を設定する。
  3. 各頂点の3次元空間内の位置ベクトルを設定する。

空間上に各頂点を配置する際、頂点の順番が反時計回りになっている側が表面となります。 テクスチャ座標系の方は必ずしも反時計回りになっている必要はありませんが、 それが時計回りである場合は表示される画像が結果的に裏返ります。

本クラスでは、1つのインスタンスで制御できる3角形は1枚のみです。 複数枚の3角形を1つのインスタンスで制御したい場合は、 fk_MeshTexture クラスを用いた方がメモリ使用量や描画速度の効率が良くなります。 また、3角形ではなく矩形を扱いたい場合は fk_RectTexture クラスを利用して下さい。

参照:
fk_Texture, fk_RectTexture, fk_MeshTexture, fk_IFSTexture

コンストラクタとデストラクタ

fk_TriTexture::fk_TriTexture ( fk_Image image = (fk_Image *) NULL  ) 

コンストラクタ

引数:
[in] image テクスチャ画像。省略するか NULL を代入した場合は、 テクスチャ画像を初期状態では生成しません。
fk_TriTexture::~fk_TriTexture (  ) 

デストラクタ


関数

void fk_TriTexture::init ( void   ) 

初期化関数

現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。

bool fk_TriTexture::setTextureCoord ( int  ID,
double  x,
double  y 
)

テクスチャ座標設定関数1

頂点のテクスチャ座標を設定します。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 テクスチャ座標は、一度設定した後でも動的に変更することが可能です。

引数:
[in] ID 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in] x テクスチャ座標の x 成分。0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in] y テクスチャ座標の y 成分。0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。
戻り値:
設定に成功した場合 true を、失敗した場合 false を返します。
bool fk_TriTexture::setTextureCoord ( int  ID,
fk_TexCoord  coord 
)

テクスチャ座標設定関数2

頂点のテクスチャ座標を設定します。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 テクスチャ座標は、一度設定した後でも動的に変更することが可能です。

引数:
[in] ID 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in] coord テクスチャ座標。各成文は 0 以上 1 以下である必要があります。 それ以外の値を入力した場合はエラーとなり、false を返します。
戻り値:
設定に成功した場合 true を、失敗した場合 false を返します。
fk_TexCoord fk_TriTexture::getTextureCoord ( int  ID  ) 

テクスチャ座標取得関数

setTextureCoord() で設定したテクスチャ座標を取得します。

引数:
[in] ID 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0) を返します。
戻り値:
IDに対応する頂点のテクスチャ座標
bool fk_TriTexture::setVertexPos ( int  ID,
double  x,
double  y,
double  z 
)

頂点位置ベクトル設定関数1

頂点の空間中での位置ベクトルを設定します。 位置ベクトルは、一度設定した後でも動的に変更することが可能です。

引数:
[in] ID 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in] x 頂点位置ベクトルの x 成分
[in] y 頂点位置ベクトルの y 成分
[in] z 頂点位置ベクトルの z 成分
戻り値:
設定に成功した場合 true を、失敗した場合 false を返します。
bool fk_TriTexture::setVertexPos ( int  ID,
fk_Vector  pos 
)

頂点位置ベクトル設定関数2

頂点の空間中での位置ベクトルを設定します。 位置ベクトルは、一度設定した後でも動的に変更することが可能です。

引数:
[in] ID 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
[in] pos 頂点位置ベクトル
戻り値:
設定に成功した場合 true を、失敗した場合 false を返します。
fk_Vector fk_TriTexture::getVertexPos ( int  ID  ) 

頂点位置ベクトル取得関数

setTexturePos() で設定したテクスチャ座標を取得します。

引数:
[in] ID 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0, 0) を返します。
戻り値:
IDに対応する頂点の位置ベクトル

FineKernelToolKitに対してSat Sep 26 20:35:37 2009に生成されました。  doxygen 1.6.1