# クラス fk_RectTexture

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

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

すべてのメンバ一覧

## Public メソッド
| fk_RectTexture (fk_Image *image=(fk_Image *) NULL)
| コンストラクタ
| ~fk_RectTexture ()
| デストラクタ
void | init (void)
| 初期化関数
bool | setTextureSize (double w, double h)
| テクスチャサイズ設定関数
fk_TexCoord | getTextureSize (void)
| テクスチャサイズ参照関数
void | setRepeatMode (bool mode)
| リピートモード設定関数
bool | getRepeatMode (void)
| リピートモード参照関数
void | setRepeatParam (double wNum, double hNum)
| リピートモード枚数設定関数
fk_TexCoord | getRepeatParam (void)
| リピートモード枚数参照関数
void | setTextureCoord (double sX, double sY, double eX, double eY)
| 部分抽出設定関数1
void | setTextureCoord (const fk_TexCoord &S, const fk_TexCoord &E)
| 部分抽出設定関数2
fk_TexCoord | getTextureCoord (int ID)
| 部分抽出参照関数

## 説明

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

このクラスは、矩形型のテクスチャを制御する機能を提供します。 テクスチャを表示する方法としては、最も簡単なクラスとなります。

テクスチャ画像を表示する最低限の手順は、以下の通りです。

1. 画像を入力する。
2. setTextureSize() 関数で大きさを設定する。
3. fk_Model に登録する。

あとは、他の形状クラスと同様です。

矩形の配置は、モデルの方向ベクトルに垂直となり、 画像の中心とモデルの中心が一致するように配置されます。 また、画像の表側はモデルの後方 (初期状態では +z 方向) 側から見た場合に見えるという点に注意して下さい。

参照:
  fk_Texture, fk_TriTexture, fk_MeshTexture, fk_IFSTexture

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

fk_RectTexture::fk_RectTexture | ( | fk_Image * | image = `(fk_Image *) NULL` | ) |

コンストラクタ

引数:

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

fk_RectTexture::~fk_RectTexture | ( |  | ) |

デストラクタ

## 関数

void fk_RectTexture::init | ( | void |  | ) |

初期化関数

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

bool fk_RectTexture::setTextureSize | ( | double | w,
|  | double | h |
| ) |  |  |

テクスチャサイズ設定関数

矩形テクスチャの大きさを設定します。

引数:

  `[in]` | w | 横幅
  `[in]` | h | 縦幅

戻り値:
  横幅、縦幅のいずれかで 0 以下の値が入力されていた場合、 false を返します。設定に成功した場合は true を返します。

fk_TexCoord fk_RectTexture::getTextureSize | ( | void |  | ) |

テクスチャサイズ参照関数

矩形テクスチャの大きさを取得します。

戻り値:
  矩形テクスチャの大きさ

void fk_RectTexture::setRepeatMode | ( | bool | mode | ) |

リピートモード設定関数

リピートモードの設定を行います。 リピートモードを有効にすると、画像が縦横に行列上に並んでいる状態になります。 並ぶ枚数については、 setRepeatParam() 関数で設定します。

リピートモードを利用する場合、画像の横幅、縦幅いずれも (n は整数) で表される数値でなければならないという条件があります。 (横幅と縦幅は一致している必要はありません。) この条件を満たさなかった場合の動作は保証されません。 また、リピートモードを有効とした場合、 setTextureCoord() による 画像の切り出しも無効となります。

引数:

  `[in]` | mode | true であればリピートモードを有効とし、 false であれば無効とします。

参照:
  setRepeatParam()

bool fk_RectTexture::getRepeatMode | ( | void |  | ) |

リピートモード参照関数

現在のリピートモードの状態を取得します。

戻り値:
  true であればリピートモードが有効であることを意味します。 false であれば無効であることを意味します。

参照:
  setRepeatMode()

void fk_RectTexture::setRepeatParam | ( | double | wNum,
|  | double | hNum |
| ) |  |  |

リピートモード枚数設定関数

リピートモードでの、縦方向と横方向に並べる枚数を設定します。 リピートモードについては setRepeatMode() の説明を参照して下さい。

なお、枚数は正であれば整数である必要はありません。 その場合は、右端と上端の画像が途中で切れます。

引数:

  `[in]` | wNum | 横方法の枚数
  `[in]` | hNum | 縦方向の枚数

参照:
  setRepeatMode()

fk_TexCoord fk_RectTexture::getRepeatParam | ( | void |  | ) |

リピートモード枚数参照関数

リピートモードの、各方向の枚数を取得します。

戻り値:
  各方向の枚数

参照:
  setRepeatParam()

void fk_RectTexture::setTextureCoord | ( | double | sX,
|  | double | sY,
|  | double | eX,
|  | double | eY |
| ) |  |  |

部分抽出設定関数1

画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。

引数:

  `[in]` | sX | 抽出左下部分の x 成分
  `[in]` | sY | 抽出左下部分の y 成分
  `[in]` | eX | 抽出右上部分の x 成分
  `[in]` | eY | 抽出右上部分の y 成分

void fk_RectTexture::setTextureCoord | ( | const fk_TexCoord & | S,
|  | const fk_TexCoord & | E |
| ) |  |  |

部分抽出設定関数2

画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。

引数:

  `[in]` | S | 抽出左下部分のテクスチャ座標
  `[in]` | E | 抽出右上部分のテクスチャ座標

fk_TexCoord fk_RectTexture::getTextureCoord | ( | int | ID | ) |

部分抽出参照関数

setTextureCoord() 関数によって部分抽出領域を設定した場合、 その領域のテクスチャ座標を取得します。

引数:

  `[in]` | ID | 0 であれば左下部のテクスチャ座標を、 1 であれば右上部のテクスチャ座標を返します。 それ以外の値を入力した場合は、常に (0, 0) を返します。

戻り値:
  左上部、または右上部のテクスチャ座標

参照:
  setTextureCoord()