FineKernelToolKit: FK_CLI::fk_TriTexture クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK_CLI::fk_TriTexture クラス

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

`#include <CLI/FK_CLI/include/TriTexture_CLI.h>`

FK_CLI::fk_TriTexture の継承関係図
[凡例]
FK_CLI::fk_TriTexture 連携図
[凡例]

## 公開メンバ関数

| fk_TriTexture ()
| コンストラクタ1
| fk_TriTexture (fk_Image^ image)
| コンストラクタ2
| ~fk_TriTexture ()
| デストラクタ
| !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)
| 頂点位置ベクトル取得メソッド
基底クラス FK_CLI::fk_Texture に属する継承公開メンバ関数
bool | ReadBMP (String^ fileName)
| BMP ファイル入力メソッド
bool | ReadPNG (String^ fileName)
| PNG ファイル入力メソッド
bool | ReadJPG (String^ fileName)
| JPEG ファイル入力メソッド
void | FillColor (fk_Color^ color)
| 一様色初期化メソッド1
void | InitFrameBuffer (void)
| フレームバッファー情報初期化メソッド
基底クラス FK_CLI::fk_Shape に属する継承公開メンバ関数
void | SetShaderAttribute (String^ name, int dim, IEnumerable< int >^ array)
| シェーダー内 attribute 変数設定メソッド1
void | SetShaderAttribute (String^ name, int dim, IEnumerable< float >^ array)
| シェーダー内 attribute 変数設定メソッド2
void | SetShaderAttribute (String^ name, int dim, IEnumerable< double >^ array)
| シェーダー内 attribute 変数設定メソッド3
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_Vector^>^ array)
| シェーダー内 attribute 変数設定メソッド4
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_TexCoord^>^ array)
| シェーダー内 attribute 変数設定メソッド5
void | SetShaderAttribute (String^ name, int dim, IEnumerable< fk_HVector^>^ array)
| シェーダー内 attribute 変数設定メソッド6
基底クラス FK_CLI::fk_Attribute に属する継承公開メンバ関数
bool | SetAttrII (int key, int value)
| キーが int 型、値が int 型である属性設定メソッド
bool | SetAttrID (int key, double value)
| キーが int 型、値が double 型である属性設定メソッド
bool | SetAttrIS (int key, String^ value)
| キーが int 型、値が String 型である属性設定メソッド
bool | SetAttrSI (String^ key, int value)
| キーが String 型、値が int 型である属性設定メソッド
bool | SetAttrSD (String^ key, double value)
| キーが String 型、値が double 型である属性設定メソッド
bool | SetAttrSS (String ^ key, String^ value)
| キーが String 型、値が String 型である属性設定メソッド
int | GetAttrII (int key)
| キーが int 型、値が int 型である属性参照メソッド
double | GetAttrID (int key)
| キーが int 型、値が double 型である属性参照メソッド
String ^ | GetAttrIS (int key)
| キーが int 型、値が String 型である属性参照メソッド
int | GetAttrSI (String^ key)
| キーが String 型、値が int 型である属性参照メソッド
double | GetAttrSD (String^ key)
| キーが String 型、値が double 型である属性参照メソッド
String ^ | GetAttrSS (String^ key)
| キーが String 型、値が String 型である属性参照メソッド
bool | ExistAttrII (int key)
| キーが int 型、値が int 型である属性存在参照メソッド
bool | ExistAttrID (int key)
| キーが int 型、値が double 型である属性存在参照メソッド
bool | ExistAttrIS (int key)
| キーが int 型、値が String 型である属性存在参照メソッド
bool | ExistAttrSI (String^ key)
| キーが String 型、値が int 型である属性存在参照メソッド
bool | ExistAttrSD (String^ key)
| キーが String 型、値が double 型である属性存在参照メソッド
bool | ExistAttrSS (String^ key)
| キーが String 型、値が String 型である属性存在参照メソッド
bool | DeleteAttrII (int key)
| キーが int 型、値が int 型である属性消去メソッド
bool | DeleteAttrID (int key)
| キーが int 型、値が double 型である属性消去メソッド
bool | DeleteAttrIS (int key)
| キーが int 型、値が String 型である属性消去メソッド
bool | DeleteAttrSI (String^ key)
| キーが String 型、値が int 型である属性消去メソッド
bool | DeleteAttrSD (String^ key)
| キーが String 型、値が double 型である属性消去メソッド
bool | DeleteAttrSS (String^ key)
| キーが String 型、値が String 型である属性消去メソッド

## その他の継承メンバ

基底クラス FK_CLI::fk_Texture に属する継承プロパティ
fk_Image^ | Image`[get, set]`
| 画像データプロパティ
fk_Dimension^ | ImageSize`[get]`
| 画像サイズプロパティ
fk_Dimension^ | BufferSize`[get]`
| 画像バッファサイズプロパティ
fk_TexMode | TextureMode`[get, set]`
| テクスチャモードプロパティ
fk_TexRendMode | RendMode`[get, set]`
| テクスチャ描画品質プロパティ
fk_TexWrapMode | WrapMode`[get, set]`
| テクスチャ外周部設定プロパティ
fk_FrameBuffer^ | FrameBuffer`[get, set]`
| フレームバッファープロパティ
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ

## 詳解

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() [1/2]

FK_CLI::fk_TriTexture::fk_TriTexture | ( |  | ) |

コンストラクタ1

テクスチャ画像が空の状態でインスタンスを生成します。

## ◆ fk_TriTexture() [2/2]

FK_CLI::fk_TriTexture::fk_TriTexture | ( | fk_Image^ | image | ) |

コンストラクタ2

引数

  [in] | image | テクスチャ画像。省略するか null を代入した場合は、 テクスチャ画像を初期状態では生成しません。

## ◆ ~fk_TriTexture()

FK_CLI::fk_TriTexture::~fk_TriTexture | ( |  | ) |

デストラクタ

## ◆ !fk_TriTexture()

FK_CLI::fk_TriTexture::!fk_TriTexture | ( |  | ) |

ファイナライザ

## 関数詳解

## ◆ Init()

void FK_CLI::fk_TriTexture::Init | ( | void |  | ) |

初期化メソッド

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

## ◆ SetTextureCoord() [1/2]

bool FK_CLI::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 を返します。

## ◆ SetTextureCoord() [2/2]

bool FK_CLI::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 を返します。

## ◆ GetTextureCoord()

fk_TexCoord ^ FK_CLI::fk_TriTexture::GetTextureCoord | ( | int | ID | ) |

テクスチャ座標取得メソッド

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

引数

  [in] | ID | 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0) を返します。

戻り値
  IDに対応する頂点のテクスチャ座標

## ◆ SetVertexPos() [1/2]

bool FK_CLI::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 を返します。

## ◆ SetVertexPos() [2/2]

bool FK_CLI::fk_TriTexture::SetVertexPos | ( | int | ID,
|  | fk_Vector^ | pos )

頂点位置ベクトル設定メソッド2

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

引数

  [in] | ID | 頂点ID。0, 1, 2 のいずれかになります。 それ以外の値を入力した場合はエラーとなり、false を返します。
  [in] | pos | 頂点位置ベクトル

戻り値
  設定に成功した場合 true を、失敗した場合 false を返します。

## ◆ GetVertexPos()

fk_Vector ^ FK_CLI::fk_TriTexture::GetVertexPos | ( | int | ID | ) |

頂点位置ベクトル取得メソッド

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

引数

  [in] | ID | 頂点ID。 0, 1, 2 のいずれか以外を指定した場合は、 常に (0, 0, 0) を返します。

戻り値
  IDに対応する頂点の位置ベクトル