# クラス fk_Shape

形状用基底クラス [詳細]

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

すべてのメンバ一覧

## Public メソッド
| fk_Shape (fk_ObjectType=FK_SHAPE)
| コンストラクタ
virtual | ~fk_Shape ()
| デストラクタ
fk_Palette * | getPaletteData (void)
| パレット取得関数
void | clearMaterial (void)
| パレット初期化関数
void | setObjMaterialID (int ID)
| オブジェクトマテリアル ID 設定関数
void | pushPalette (fk_Material &mat)
| マテリアル追加関数
void | setPalette (fk_Material &mat, int ID)
| マテリアル設定関数
void | setMaterialMode (fk_MaterialMode mode)
| マテリアルモード設定関数
fk_MaterialMode | getMaterialMode (void)
| マテリアルモード取得関数
int | getObjMaterialID (void)
| オブジェクトマテリアル ID 取得関数
int | getPaletteSize (void)
| パレット中のマテリアル格納数取得関数
fk_Material * | getMaterial (int id)
| マテリアル取得関数
std::vector< fk_Material > * | getMaterialVector (void)
| マテリアル配列取得関数

## 説明

形状用基底クラス

このクラスは、形状を表すクラスの基底クラスです。 クラス自体の主な機能は、マテリアルやパレットの管理です。

参照:
  fk_Material, fk_Palette

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

fk_Shape::fk_Shape | ( | fk_ObjectType | = `FK_SHAPE` | ) |

コンストラクタ

virtual fk_Shape::~fk_Shape | ( |  | ) | `[virtual]`

デストラクタ

## 関数

fk_Palette* fk_Shape::getPaletteData | ( | void |  | ) |

パレット取得関数

パレットのアドレスを取得します。

戻り値:
  パレット

void fk_Shape::clearMaterial | ( | void |  | ) |

パレット初期化関数

現在設定されているパレットを初期化します。

参照:
  fk_Palette::clearMaterial()

void fk_Shape::setObjMaterialID | ( | int | ID | ) |

オブジェクトマテリアル ID 設定関数

オブジェクトマテリアルの ID を設定します。

引数:

  `[in]` | ID | オブジェクトマテリアルの ID。

参照:
  getObjMaterialID()
  fk_Palette::setObjMaterialID()

void fk_Shape::pushPalette | ( | fk_Material & | mat | ) |

マテリアル追加関数

パレットにマテリアルを新たに追加します。

引数:

  `[in]` | mat | 追加するマテリアル変数のアドレス

参照:
  fk_Palette::pushPalette(), setPalette()

void fk_Shape::setPalette | ( | fk_Material & | mat,
|  | int | ID |
| ) |  |  |

マテリアル設定関数

パレットに対し、対応する ID でマテリアルを設定します。 詳細な仕様は fk_Palette::setPalette() を参照して下さい。

引数:

  `[in]` | mat | 設定するマテリアル
  `[in]` | ID | マテリアルID

参照:
  fk_Palette::setPalette(), pushPalette()

void fk_Shape::setMaterialMode | ( | fk_MaterialMode | mode | ) |

マテリアルモード設定関数

形状中の各要素を描画する際に、どの要素のマテリアルを採用するかを設定します。 マテリアルの採用は、以下のような優先順で決定します。

1. fk_Model のマテリアルモードが FK_CHILD_MODE の場合、 モデルのマテリアルが採用されます。 FK_NONE_MODE の場合は描画されません。 FK_PARENT_MODE の場合は以下の条件に従います。 (fk_Model::setMaterialMode() を参照して下さい。)
2. fk_Shape の派生クラスにてマテリアルモードが FK_CHILD_MODE になっている場合、形状のマテリアルが採用されます。 FK_NONE_MODE の場合は描画されません。 FK_PARENT_MODE の場合は以下の条件に従います。
3. 各位相要素でのマテリアルモードが、 FK_CHILD_MODE になっている場合は個別のマテリアルが採用されます。 FK_NONE_MODE の場合は描画されません。 FK_PARENT_MODE の場合はモデルのマテリアルが採用されます。 (fk_TopologyMaterial::setElemMaterialMode() を参照して下さい。)

引数:

  `[in]` | mode | マテリアルモードを設定します。与えられる値は以下の3種類です。 FK_CHILD_MODE FK_PARENT_MODE FK_NONE_MODE

参照:
  getMaterialMode(), fk_Model::setMaterialMode(), fk_TopologyMaterial::setElemMaterialMode()

fk_MaterialMode fk_Shape::getMaterialMode | ( | void |  | ) |

マテリアルモード取得関数

マテリアルモードを取得します。

戻り値:
  マテリアルモード

参照:
  setMaterialMode()

int fk_Shape::getObjMaterialID | ( | void |  | ) |

オブジェクトマテリアル ID 取得関数

現在設定されているオブジェクトマテリアルの ID を取得します。

戻り値:
  オブジェクトマテリアルの ID

参照:
  setObjMaterialID(), fk_Palette::getObjMaterialID()

int fk_Shape::getPaletteSize | ( | void |  | ) |

パレット中のマテリアル格納数取得関数

現在パレットに格納されているマテリアルの数を返します。

戻り値:
  マテリアル数

参照:
  pushPalette(), setPalette(), getMaterial(), fk_Palette::getPaletteSize()

fk_Material* fk_Shape::getMaterial | ( | int | id | ) |

マテリアル取得関数

指定された id に対応するマテリアルのポインタを返します。 id に対応するマテリアルがパレット中にない場合は、 デフォルト状態のマテリアルインスタンスへのポインタを返します。

戻り値:
  マテリアルのポインタ

参照:
  pushPalette(), setPalette(), getPaletteSize(), fk_Palette::getMaterial()

std::vector<fk_Material>* fk_Shape::getMaterialVector | ( | void |  | ) |

マテリアル配列取得関数

パレットに格納されているマテリアルを、 STL の vector 配列へのポインタとして返します。

戻り値:
  マテリアル配列

参照:
  getMaterial(), fk_Palette::getMaterialVector()