FineKernelToolKit 2.9.0

- メインページ
- ネームスペース
- クラス
- ファイル

- 構成
- クラス階層
- 構成メンバ

全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_AppWindow

アプリケーションウィンドウクラス [詳細]

## Public メソッド
| fk_AppWindow (void)
| コンストラクタ [詳細]
| fk_AppWindow (fk_AppWindow &parent)
| 子ウィンドウ作成時用コンストラクタ [詳細]
| ~fk_AppWindow (void)
| デストラクタ [詳細]
ウィンドウの各種設定関数
void | setWindowName (const std::string &name)
| ウィンドウタイトル設定関数 [詳細]
void | setSize (int w, int h)
| ウィンドウサイズ設定関数 [詳細]
void | setInnerSize (int x, int y, int w, int h)
| 描画領域サイズ設定関数 [詳細]
void | setBGColor (double r, double g, double b)
| 背景色設定関数1 [詳細]
void | setBGColor (const fk_Color &color)
| 背景色設定関数2 [詳細]
void | toFullscreen (void)
| フルスクリーン化関数 [詳細]
void | toWindow (void)
| ウィンドウ化関数 [詳細]
描画制御関数
void | open (void)
| ウィンドウ生成関数 [詳細]
void | close (void)
| ウィンドウ破棄関数 [詳細]
bool | update (bool forceFlag=false)
| シーン描画関数 [詳細]
void | setFPS (int fps)
| FPS設定関数 [詳細]
グリッド・座標軸表示設定関数
void | showGuide (fk_GuideMode mode=FK_AXIS_X|FK_AXIS_Y|FK_AXIS_Z|FK_GRID_XZ)
| グリッド・軸設定関数 [詳細]
void | hideGuide (void)
| グリッド・軸消去関数 [詳細]
void | setGuideAxisWidth (double width)
| 軸線幅設定関数 [詳細]
void | setGuideGridWidth (double width)
| グリッド線幅設定関数 [詳細]
void | setGuideScale (double scale)
| グリッド幅設定関数 [詳細]
void | setGuideNum (int num)
| グリッド数設定関数 [詳細]
カメラ制御関数
void | setCameraPos (double x, double y, double z)
| カメラ位置設定関数1 [詳細]
void | setCameraPos (const fk_Vector &pos)
| カメラ位置設定関数2 [詳細]
void | setCameraFocus (double x, double y, double z)
| カメラ注視点設定関数1 [詳細]
void | setCameraFocus (const fk_Vector &pos)
| カメラ注視点設定関数2 [詳細]
void | setCameraModel (fk_Model *model)
| カメラモデル設定関数1 [詳細]
void | setCameraModel (fk_Model &model)
| カメラモデル設定関数2 [詳細]
fk_Model * | getCameraModel (void)
| カメラモデル取得関数 [詳細]
void | setCameraDefault (void)
| カメラ初期化関数 [詳細]
シーン制御関数
void | setScene (fk_Scene *scene, bool defCameraAndLight=false)
| シーン設定関数1 [詳細]
void | setScene (fk_Scene &scene, bool defCameraAndLight=false)
| シーン設定関数2 [詳細]
fk_Scene * | getScene (void)
| シーン取得関数 [詳細]
void | setSceneDefault (void)
| シーン設定初期化関数 [詳細]
void | entry (fk_Model *model)
| モデル表示登録関数1 [詳細]
void | entry (fk_Model &model)
| モデル表示登録関数2 [詳細]
void | entry (fk_Model *model, fk_GuideObject *guide)
| 座標軸付きモデル表示登録関数1 [詳細]
void | entry (fk_Model &model, fk_GuideObject &guide)
| 座標軸付きモデル表示登録関数2 [詳細]
void | entry (fk_SpriteModel *model)
| スプライトモデル登録関数1 [詳細]
void | entry (fk_SpriteModel &model)
| スプライトモデル登録関数2 [詳細]
void | entry (fk_Performer *chara)
| fk_Performer モデル登録関数1 [詳細]
void | entry (fk_Performer &chara)
| fk_Performer モデル登録関数2 [詳細]
void | remove (fk_Model *model)
| モデル表示解除関数1 [詳細]
void | remove (fk_Model &model)
| モデル表示解除関数2 [詳細]
void | remove (fk_Model *model, fk_GuideObject *guide)
| 座標軸付きモデル表示解除関数1 [詳細]
void | remove (fk_Model &model, fk_GuideObject &guide)
| 座標軸付きモデル表示解除関数2 [詳細]
void | remove (fk_SpriteModel *model)
| スプライトモデル表示解除関数1 [詳細]
void | remove (fk_SpriteModel &model)
| スプライトモデル表示解除関数2 [詳細]
void | remove (fk_Performer *chara)
| fk_Performer モデル表示解除関数1 [詳細]
void | remove (fk_Performer &chara)
| fk_Performer モデル表示解除関数2 [詳細]
void | clearModel (bool defCameraAndLight=false)
| 全モデル登録解除関数 [詳細]
キーボード状態取得関数
fk_SwitchStatus | getKeyStatus (char keyChar)
| 通常キー状態取得関数 [詳細]
fk_SwitchStatus | getSpecialKeyStatus (fk_SpecialKey keyCode)
| 特殊キー状態取得関数 [詳細]
マウス状態取得関数
fk_SwitchStatus | getMouseStatus (fk_MouseButton buttonCode)
| マウスボタン状態取得関数 [詳細]
fk_Vector | getMousePosition (void)
| マウスポインタ位置取得関数 [詳細]
void | setCursorState (bool visible, bool center)
| マウスカーソル表示制御関数 [詳細]
ゲームパッド状態制御関数
int | getPadCount (void)
fk_SwitchStatus | getPadButtonStatus (int padID, int buttonID)
fk_Vector | getPadDirection (int padID, int axisID)
fk_Input * | getPadManager (void)
マウス制御支援関数
void | setTrackBallMode (bool mode)
| トラックボールモード制御関数 [詳細]
bool | isModelPicked (fk_Model *model, int pixel=1, int mouseX=-1, int mouseY=-1)
| モデルクリック判定関数1 [詳細]
bool | isModelPicked (fk_Model &model, int pixel=1, int mouseX=-1, int mouseY=-1)
| モデルクリック判定関数2 [詳細]
void | procMouseView (fk_Model *camera, double spinX, double spinY, bool lockSW)
| FPS視点的カメラ制御関数1. [詳細]
void | procMouseView (fk_Model &camera, double spinX, double spinY, bool lockSW)
| FPS視点的カメラ制御関数2. [詳細]

## 説明

アプリケーションウィンドウクラス

このクラスは、 3D シーンを表示するウィンドウを簡易に作成する機能を提供します。 シーン・カメラ・ライトを内包しているので、 とりあえず形状を表示させるだけなら、 非常に短いコード量で済みます。 もちろんゲームアプリを完成させることも可能です。 入力に関するユーティリティ機能も含みます。 Fl_Window、 fk_Window 、 fk_Scene を複合したクラスですので、 既存の FK ユーザが利用する場合はその旨を念頭に置いてください。

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

fk_AppWindow::fk_AppWindow | ( | void |  | ) |

コンストラクタ

fk_AppWindow::fk_AppWindow | ( | fk_AppWindow & | parent | ) |

子ウィンドウ作成時用コンストラクタ

fk_AppWindow::~fk_AppWindow | ( | void |  | ) |

デストラクタ

## 関数

void fk_AppWindow::setWindowName | ( | const std::string & | name | ) |

ウィンドウタイトル設定関数

ウィンドウのタイトルバーに表示する文字列を変更します。 デフォルトは"FK APP Window"です。

引数

  [in] | name | タイトル文字列

void fk_AppWindow::setSize | ( | int | w,
|  | int | h
| ) |  |

ウィンドウサイズ設定関数

ウィンドウサイズを変更します。単位はピクセルです。 3DCG描画領域も同じサイズに変更します。 デフォルトは512x512です。

引数

  [in] | w | ウィンドウ横幅
  [in] | h | ウィンドウ縦幅

void fk_AppWindow::setInnerSize | ( | int | x,
|  | int | y,
|  | int | w,
|  | int | h
| ) |  |

描画領域サイズ設定関数

ウィンドウの内部に持つ3DCGの描画領域の位置とサイズを変更します。 マルチウィンドウを実現する際の調整用関数なので、上級者向けです。

引数

  [in] | x | 描画領域左上位置 x 座標
  [in] | y | 描画領域左上位置 y 座標
  [in] | w | 描画領域横幅
  [in] | h | 描画領域縦幅

void fk_AppWindow::setBGColor | ( | double | r,
|  | double | g,
|  | double | b
| ) |  |

背景色設定関数1

3DCG描画領域の背景色をRGBの色値ブレンドで指定します。 各成分は0.0～1.0の実数値です。 それ以外の値が与えられた場合、 0 以下なら 0 に、1 以上なら 1 に丸められます。 デフォルトは黒(0, 0, 0)です。

引数

  [in] | r | 背景色の赤要素
  [in] | g | 背景色の緑要素
  [in] | b | 背景色の青要素

参照
  setBGColor(const fk_Color &)

void fk_AppWindow::setBGColor | ( | const fk_Color & | color | ) |

背景色設定関数2

3DCG描画領域の背景色を設定します。

引数

  [in] | color | 背景色

参照
  setBGColor(double, double, double), fk_Color

void fk_AppWindow::toFullscreen | ( | void |  | ) |

フルスクリーン化関数

ウィンドウをフルスクリーン化します。 正しく表示するためには、 ウィンドウサイズがモニタ側で対応しているサイズと 一致している必要があります。 すでにフルスクリーン化されている時は何も起きません。 また、アプリ起動中に ALT+ENTER キーでフルスクリーンとウィンドウを切り替えることができます。

覚え書き
  この関数は Windows 環境のみ対応しています。

参照
  toWindow()

void fk_AppWindow::toWindow | ( | void |  | ) |

ウィンドウ化関数

フルスクリーン化しているウィンドウを元に戻します。 フルスクリーン化されていない時に呼んでも何も起きません。 また、アプリ起動中に ALT+ENTER キーでフルスクリーンとウィンドウを切り替えることができます。

覚え書き
  この関数は Windows 環境のみ対応しています。

参照
  toFullscreen()

void fk_AppWindow::open | ( | void |  | ) |

ウィンドウ生成関数

ウィンドウを開いて表示します。

参照
  close(), update()

void fk_AppWindow::close | ( | void |  | ) |

ウィンドウ破棄関数

ウィンドウを閉じます。 ウィンドウが表示されている状態でプログラムが終了した場合は 自動的に閉じられるので、 本関数を明示的に呼ぶ必要はありません。 プログラム自体は動作し続けるが、ウィンドウを閉じたい場合や、 改めてウィンドウを再生成したい場合に本関数を利用して下さい。

参照
  open(), update()

bool fk_AppWindow::update | ( | bool | forceFlag = `false` | ) |

シーン描画関数

シーン画面を描画し、さらに各種入力デバイスの状態を更新します。 基本的にメインループ内でコールすることになります。 その際、 setFPS() 関数によって設定した FPS の制御状態に基づいて時間調整が入ります。 FPS制御を無視して強制的に描画処理を呼び出したい場合は引数に true を渡します。

引数

  [in] | forceFlag | true の場合、FPS制御を無視して強制的に再描画を行います。 false の場合は FPS制御により描画タイミングを制御し、 描画が行われるまでは関数は終了しなくなります。 デフォルトは false です。

参照
  open(), close(), setFPS()

void fk_AppWindow::setFPS | ( | int | fps | ) |

FPS設定関数

update()をコールした際に調整するFPSを指定します。 FPS(Frame Per Second)とは、1秒間中で画面更新が行われる回数の単位です。 この値を 0 に設定した場合は、FPS制御を行いません。 デフォルトは60です。

引数

  [in] | fps | FPS値

void fk_AppWindow::showGuide | ( | fk_GuideMode | mode = `FK_AXIS_X|FK_AXIS_Y|FK_AXIS_Z|FK_GRID_XZ` | ) |

グリッド・軸設定関数

画面内の座標系を表すグリッドと軸を指定します。 FK_AXIS_X, FK_AXIS_Y, FK_AXIS_Zがそれぞれの軸を、 FK_GRID_XZ, FK_GRID_XY, FK_GRID_YZがそれぞれの平面を表すグリッドに対応します。 複数の要素を指定したい場合は | (ビットOR演算子)で区切って指定できます。 FK_NO_GUIDEで全て非表示に、 FK_ALL_GUIDEで全ての軸・グリッドを表示します。 引数を省略した場合は、XYZの各軸とXZ平面のグリッドを表示します。 デフォルトでは全て非表示(FK_NO_GUIDE)です。

引数

  [in] | mode | 表示するグリッド・軸の指定。複数を表示する場合は、 ビットOR演算を利用して並べて指定できます。

参照
  hideGuide(), setGuideAxisWidth(), setGuideGridWidth(), setGuideScale(), setGuideNum(), fk_GuideMode

void fk_AppWindow::hideGuide | ( | void |  | ) |

グリッド・軸消去関数

showGuide() で表示した軸とグリッドを消去します。 showGuide(FK_NO_GUIDE) と等価です。

参照
  showGuide()

void fk_AppWindow::setGuideAxisWidth | ( | double | width | ) |

軸線幅設定関数

showGuide() で表示する軸の太さを指定します。 デフォルトは4.0です。

引数

  [in] | width | 軸線の太さ

参照
  showGuide(), showGuideGridWidth()

void fk_AppWindow::setGuideGridWidth | ( | double | width | ) |

グリッド線幅設定関数

showGuide() で表示するグリッドの太さを指定します。 デフォルトは1.0です。

引数

  [in] | width | グリッド線の太さ

参照
  showGuide(), showGuideAxisWidth(), setGridNum()

void fk_AppWindow::setGuideScale | ( | double | scale | ) |

グリッド幅設定関数

showGuide()で表示するグリッドや軸の1辺の長さを指定します。 デフォルトは5.0です。

引数

  [in] | scale | グリッドの1辺の長さ

参照
  showGuide(), showGuideGridWidth(), setGridNum()

void fk_AppWindow::setGuideNum | ( | int | num | ) |

グリッド数設定関数

showGuide()で表示するグリッドの軸方向あたりの個数を指定します。 デフォルトは20です。

引数

  [in] | num | 軸方向あたりのグリッド個数

参照
  showGuide(), showGridWidth(), showGuideScale()

void fk_AppWindow::setCameraPos | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

カメラ位置設定関数1

現在ウィンドウが制御しているカメラの位置を指定した位置座標に移動します。

引数

  [in] | x | カメラ位置のx成分
  [in] | y | カメラ位置のy成分
  [in] | z | カメラ位置のz成分

void fk_AppWindow::setCameraPos | ( | const fk_Vector & | pos | ) |

カメラ位置設定関数2

現在ウィンドウが制御しているカメラの位置を指定した位置座標に移動します。

引数

  [in] | pos | カメラ位置のベクトル

void fk_AppWindow::setCameraFocus | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

カメラ注視点設定関数1

現在ウィンドウが制御しているカメラの向きを、 指定した座標に向くよう姿勢変更します。

引数

  [in] | x | 注視点位置のx成分
  [in] | y | 注視点位置のy成分
  [in] | z | 注視点位置のz成分

void fk_AppWindow::setCameraFocus | ( | const fk_Vector & | pos | ) |

カメラ注視点設定関数2

現在ウィンドウが制御しているカメラの向きを、 指定した座標に向くよう姿勢変更します。

引数

  [in] | pos | 注視点の位置ベクトル

void fk_AppWindow::setCameraModel | ( | fk_Model * | model | ) |

カメラモデル設定関数1

ウィンドウに対して、 別のfk_Model(及びその派生クラス)のオブジェクトをカメラとして セットします。 この関数でセットしたモデルを操作すれば、 fk_AppWindowのメンバ関数を介さずカメラ制御が可能です。

引数

  [in] | model | カメラモデル(のアドレス)

void fk_AppWindow::setCameraModel | ( | fk_Model & | model | ) |

カメラモデル設定関数2

ウィンドウに対して、 別のfk_Model(及びその派生クラス)のオブジェクトをカメラとして セットします。 この関数でセットしたモデルを操作すれば、 fk_AppWindowのメンバ関数を介さずカメラ制御が可能です。

引数

  [in] | model | カメラモデル

fk_Model* fk_AppWindow::getCameraModel | ( | void |  | ) |

カメラモデル取得関数

現在ウィンドウで制御しているカメラモデルオブジェクトの ポインタを取得します。

戻り値
  カメラモデルのポインタ

参照
  setCameraModel(fk_Model *), setCameraModel(fk_Model &), fk_Model

void fk_AppWindow::setCameraDefault | ( | void |  | ) |

カメラ初期化関数

ウィンドウが制御するカメラを、 デフォルトで内部に保持している fk_Model のインスタンスに戻します。

参照
  setCameraModel(fk_Model *), setCameraModel(fk_Model &), getCameraModel()

void fk_AppWindow::setScene | ( | fk_Scene * | scene,
|  | bool | defCameraAndLight = `false`
| ) |  |

シーン設定関数1

ウィンドウに対して、別の fk_Scene のオブジェクトをセットします。 アプリの画面ごとにモデルを登録した fk_Scene オブジェクトを、 この関数でセットして切り替えることで、 モデルを個別に登録や解除を行う手間が省けます。 ある程度以上の規模を持つアプリを開発する場合は便利です。 第 2 引数に true を設定すると、新たにセットするシーンに対して、 fk_AppWindow 内部のカメラとライトオブジェクトを 引き継いでセットすることができますが、 構造がややこしくなるのでできるだけ自前で用意することを推奨します。 省略した場合と false を設定した場合はシーンの切り替えのみを行います。

引数

  [in] | scene | シーンインスタンス(のポインタ)
  [in] | defCameraAndLight | true である場合、 カメラ・光源設定についてシーン設定前のものを用います。 false である場合は第一引数の scene に設定されている情報に切り替えます。

参照
  getScene(), setSceneDefault()

void fk_AppWindow::setScene | ( | fk_Scene & | scene,
|  | bool | defCameraAndLight = `false`
| ) |  |

シーン設定関数2

ウィンドウに対して、別の fk_Scene のオブジェクトをセットします。 アプリの画面ごとにモデルを登録した fk_Scene オブジェクトを、 この関数でセットして切り替えることで、 モデルを個別にエントリー・リムーブする手間が省けます。 ある程度以上の規模を持つアプリを開発する場合は便利です。 第 2 引数に true を設定すると、新たにセットするシーンに対して、 fk_AppWindow 内部のカメラとライトオブジェクトを 引き継いでセットすることができますが、 構造がややこしくなるのでできるだけ自前で用意することを推奨します。 省略した場合と false を設定した場合はシーンの切り替えのみを行います。

引数

  [in] | scene | シーンインスタンス
  [in] | defCameraAndLight | true である場合、 カメラ・光源設定についてシーン設定前のものを用います。 false である場合は第一引数の scen に設定されている情報に切り替えます。

参照
  getScene(), setSceneDefault(), fk_Scene

fk_Scene* fk_AppWindow::getScene | ( | void |  | ) |

シーン取得関数

現在ウィンドウで制御しているシーンオブジェクトのポインタを取得します。

戻り値
  現在設定されているシーンのポインタ

参照
  setScene(fk_Scene *, bool), setScene(fk_Scene &, bool), setSceneDefault(), fk_Scene

void fk_AppWindow::setSceneDefault | ( | void |  | ) |

シーン設定初期化関数

ウィンドウが制御するシーンを、 デフォルトで内部に保持している fk_Scene のインスタンスに戻します。

参照
  setScene(fk_Scene *, bool), setScene(fk_Scene &, bool), getScene(), fk_Scene

void fk_AppWindow::entry | ( | fk_Model * | model | ) |

モデル表示登録関数1

ウィンドウに対してモデルを登録し、表示するようにします。 既に登録済みのモデルに対して行った場合、登録順が最後尾となります。

覚え書き
  FKでは、半透明な物体AとBがあり、 配置関係で「Aが前、Bが後」となっていた場合、 登録順が B, A の順番であれば適切に描画されますが、 A, B の登録順となっていた場合には A が半透明であっても B が透けて見えなくなります。 このような場合、「前に配置される物体ほど後に登録する」 ように登録することで半透明描画が適切となります。

引数

  [in] | model | 登録モデル(のポインタ)

参照
  entry(fk_Model &), remove(fk_Model *), clearModel()

void fk_AppWindow::entry | ( | fk_Model & | model | ) |

モデル表示登録関数2

ウィンドウに対してモデルを登録し、表示するようにします。 既に登録済みのモデルに対して行った場合、登録順が最後尾となります。 半透明物体の描画については、 entry(fk_Model *) の説明を参照して下さい。

引数

  [in] | model | 登録モデル

参照
  entry(fk_Model *), remove(fk_Model &), clearModel()

void fk_AppWindow::entry | ( | fk_Model * | model,
|  | fk_GuideObject * | guide
| ) |  |

座標軸付きモデル表示登録関数1

ウィンドウに対してモデルを登録し、表示するようにします。 既に登録済みのモデルに対して行った場合、登録順が最後尾となります。 半透明物体の描画については、 entry(fk_Model *) の説明を参照して下さい。 登録の際、モデルのローカル座標系に基づく座標軸を同時に登録します。

引数

  [in] | model | 登録モデル(のポインタ)
  [in] | guide | 座標軸(のポインタ)

参照
  entry(fk_Model &, fk_GuideObject &), remove(fk_Model *, fk_GuideObject *), clearModel()

void fk_AppWindow::entry | ( | fk_Model & | model,
|  | fk_GuideObject & | guide
| ) |  |

座標軸付きモデル表示登録関数2

ウィンドウに対してモデルを登録し、表示するようにします。 既に登録済みのモデルに対して行った場合、登録順が最後尾となります。 半透明物体の描画については、 entry(fk_Model *) の説明を参照して下さい。 登録の際、モデルのローカル座標系に基づく座標軸を同時に登録します。

引数

  [in] | model | 登録モデル
  [in] | guide | 座標軸

参照
  entry(fk_Model *, fk_GuideObject *), remove(fk_Model &, fk_GuideObject &), clearModel()

void fk_AppWindow::entry | ( | fk_SpriteModel * | model | ) |

スプライトモデル登録関数1

ウィンドウに対してスプライトモデルを登録し、表示するようにします。

引数

  [in] | model | 登録モデル(のポインタ)

参照
  entry(fk_SpriteModel &), remove(fk_SpriteModel *), clearModel(), fk_SpriteModel

void fk_AppWindow::entry | ( | fk_SpriteModel & | model | ) |

スプライトモデル登録関数2

ウィンドウに対してスプライトモデルを登録し、表示するようにします。

引数

  [in] | model | 登録モデル

参照
  entry(fk_SpriteModel *), remove(fk_SpriteModel &), clearModel(), fk_SpriteModel

void fk_AppWindow::entry | ( | fk_Performer * | chara | ) |

fk_Performer モデル登録関数1

ウィンドウに対して fk_Performer 型のモデルを登録し、 表示するようにします。

引数

  [in] | chara | 登録モデル(のポインタ)

参照
  entry(fk_Performer &), remove(fk_Performer *), clearModel(), fk_Performer

void fk_AppWindow::entry | ( | fk_Performer & | chara | ) |

fk_Performer モデル登録関数2

ウィンドウに対して fk_Performer 型のモデルを登録し、 表示するようにします。

引数

  [in] | chara | 登録モデル

参照
  entry(fk_Performer *), remove(fk_Performer &), clearModel(), fk_Performer

void fk_AppWindow::remove | ( | fk_Model * | model | ) |

モデル表示解除関数1

ウィンドウからモデルの登録を解除し、表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル(のポインタ)

参照
  remove(fk_Model &), entry(fk_Model *), clearModel()

void fk_AppWindow::remove | ( | fk_Model & | model | ) |

モデル表示解除関数2

ウィンドウからモデルの登録を解除し、表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル

参照
  remove(fk_Model *), entry(fk_Model &), clearModel()

void fk_AppWindow::remove | ( | fk_Model * | model,
|  | fk_GuideObject * | guide
| ) |  |

座標軸付きモデル表示解除関数1

ウィンドウから、座標軸付きモデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル(のポインタ)
  [in] | guide | 登録解除座標軸(のポインタ)

参照
  remove(fk_Model &, fk_GuideObject &), entry(fk_Model *, fk_GuideObject *), clearModel()

void fk_AppWindow::remove | ( | fk_Model & | model,
|  | fk_GuideObject & | guide
| ) |  |

座標軸付きモデル表示解除関数2

ウィンドウから、座標軸付きモデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル
  [in] | guide | 登録解除座標軸

参照
  remove(fk_Model *, fk_GuideObject *), entry(fk_Model &, fk_GuideObject &), clearModel()

void fk_AppWindow::remove | ( | fk_SpriteModel * | model | ) |

スプライトモデル表示解除関数1

ウィンドウから、スプライトモデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル(のポインタ)

参照
  remove(fk_SpriteModel &), entry(fk_SpriteModel *), clearModel()

void fk_AppWindow::remove | ( | fk_SpriteModel & | model | ) |

スプライトモデル表示解除関数2

ウィンドウから、スプライトモデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | model | 登録解除モデル

参照
  remove(fk_SpriteModel *), entry(fk_SpriteModel &), clearModel()

void fk_AppWindow::remove | ( | fk_Performer * | chara | ) |

fk_Performer モデル表示解除関数1

ウィンドウから、fk_Performer 型モデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | chara | 登録解除モデル(のポインタ)

参照
  remove(fk_Performer &), entry(fk_Performer *), clearModel()

void fk_AppWindow::remove | ( | fk_Performer & | chara | ) |

fk_Performer モデル表示解除関数2

ウィンドウから、fk_Performer 型モデルの登録を解除し、 表示されないようにします。 登録していないモデルを指定した場合は何も起きません。

引数

  [in] | chara | 登録解除モデル

参照
  remove(fk_Performer *), entry(fk_Performer &), clearModel()

void fk_AppWindow::clearModel | ( | bool | defCameraAndLight = `false` | ) |

全モデル登録解除関数

現在のシーンから全てのモデルの表示登録を解除します。

引数

  [in] | defCameraAndLight | ウィンドウ内部で保持しているライトとカメラのモデルを残したい場合は、 true を指定します。 省略あるいは false を渡した場合は、完全なクリアとなります。

fk_SwitchStatus fk_AppWindow::getKeyStatus | ( | char | keyChar | ) |

通常キー状態取得関数

通常キーの入力状態を検出します。 引数として、 検出したい文字をシングルクォーテーションで囲って指定します。 'A' や 'X' などとします。 入力できない特殊キーには getSpecialKeyStatus() を使います。

引数

  [in] | keyChar | 状態を取得したいキー文字。大文字や数字、各種記号キーを設定できます。 スペースキーの状態を取得したい場合は「' '」と入力します。

戻り値
  キーの状態を返します。種類については fk_SwitchStatus を参照して下さい。 瞬間かどうかの判定は、 直前に update() を呼んだ時点とその前に update() を呼んだ時点での入力状態によって決定しています。

参照
  getSpecialKeyStatus(), update()

fk_SwitchStatus fk_AppWindow::getSpecialKeyStatus | ( | fk_SpecialKey | keyCode | ) |

特殊キー状態取得関数

特殊キーの入力状態を検出します。 引数として、検出したいキーに対応した fk_SpecialKey 型の値を入力します。 例えば、上矢印キーの状態を取得したい場合には「FK_UP」を入力します。 通常キーの状態取得は getKeyStatus() を使います。

引数

  [in] | keyCode | 状態を取得したいキーに対応した値。

戻り値
  キーの状態を返します。種類については fk_SwitchStatus を参照して下さい。 瞬間かどうかの判定は、 直前に update() を呼んだ時点とその前に update() を呼んだ時点での入力状態によって決定しています。

覚え書き
  スペースキーの状態取得は、本関数ではなく getKeyStatus() を用います。

参照
  getKeyStatus(), update()

fk_SwitchStatus fk_AppWindow::getMouseStatus | ( | fk_MouseButton | buttonCode | ) |

マウスボタン状態取得関数

マウスボタンのクリック状態を検出します。 マウスボタンの種類については、 fk_MouseButton の項目を参照して下さい。

引数

  [in] | buttonCode | マウスボタンの種類

戻り値
  ボタンの状態を返します。種類については fk_SwitchStatus を参照して下さい。 瞬間かどうかの判定は、直前に update() を呼んだ時点とその前に update() を呼んだ時点での入力状態によって決定しています。

fk_Vector fk_AppWindow::getMousePosition | ( | void |  | ) |

マウスポインタ位置取得関数

マウスのカーソル位置を検出します。 返値として fk_Vector の値を返し、 x 成分と y 成分にそれぞれウィンドウ投影座標系の値が入ります。 ウィンドウの外にはみ出したかどうかは、 値がウィンドウサイズを超過しているか否かで判断できます。

戻り値
  マウスポインタの位置座標

参照
  getMouseStatus(), fk_Window::getMousePosition()

void fk_AppWindow::setCursorState | ( | bool | visible,
|  | bool | center
| ) |  |

マウスカーソル表示制御関数

マウスカーソルの表示・非表示と、 カーソルを画面の中心に移動するか否かを指定します。 初期状態では、マウスカーソルは表示し、中心移動は無効としています。

引数

  [in] | visible | true の場合、マウスカーソルを表示します。false の場合は消去します。
  [in] | center | true の場合、マウスカーソルを画面中心に移動します。 false の場合は何も行いません。

覚え書き
  この関数は Windows 環境のみ対応しています。

int fk_AppWindow::getPadCount | ( | void |  | ) |

fk_SwitchStatus fk_AppWindow::getPadButtonStatus | ( | int | padID,
|  | int | buttonID
| ) |  |

fk_Vector fk_AppWindow::getPadDirection | ( | int | padID,
|  | int | axisID
| ) |  |

fk_Input* fk_AppWindow::getPadManager | ( | void |  | ) |

void fk_AppWindow::setTrackBallMode | ( | bool | mode | ) |

トラックボールモード制御関数

マウスの右ドラッグとホイール操作で、 カメラを自由に操作できるモードをON(true)/OFF(false)します。 デフォルトはOFF(false)です。

引数

  [in] | mode | true であれば有効、false であれば無効とします。

bool fk_AppWindow::isModelPicked | ( | fk_Model * | model,
|  | int | pixel = `1`,
|  | int | mouseX = `-1`,
|  | int | mouseY = `-1`
| ) |  |

モデルクリック判定関数1

マウスでモデルをクリックしているかどうかを判定します。 引数には判定対象としたいモデルを渡します。1 つずつしか判定できません。 そのままだと現在のカーソル位置を基準に判定しますが、 任意の座標を指定したい場合は、 (モデル, 誤差を許容するピクセル数, X 座標, Y 座標) の形式で引数を渡します。 カーソルがモデルに重なっている場合は true、 いない場合は false を返します。

引数

  [in] | model | 判定対象モデル。
  [in] | pixel | 誤差許容ピクセル数。
  [in] | mouseX | 判定対象クリック位置のx座標。 -1 を指定した場合や省略した場合は、 現在のマウスポインタ位置の x 座標が対象となります。
  [in] | mouseY | 判定対象クリック位置のy座標。 -1 を指定した場合や省略した場合は、 現在のマウスポインタ位置の y 座標が対象となります。

戻り値
  カーソルがモデルに重なっている場合は true、 いない場合は false を返します。

bool fk_AppWindow::isModelPicked | ( | fk_Model & | model,
|  | int | pixel = `1`,
|  | int | mouseX = `-1`,
|  | int | mouseY = `-1`
| ) |  |

モデルクリック判定関数2

マウスでモデルをクリックしているかどうかを判定します。 引数には判定対象としたいモデルを渡します。1 つずつしか判定できません。 そのままだと現在のカーソル位置を基準に判定しますが、 任意の座標を指定したい場合は、 (モデル, 誤差を許容するピクセル数, X 座標, Y 座標) の形式で引数を渡します。 カーソルがモデルに重なっている場合は true、 いない場合は false を返します。

引数

  [in] | model | 判定対象モデル。
  [in] | pixel | 誤差許容ピクセル数。
  [in] | mouseX | 判定対象クリック位置のx座標。 -1 を指定した場合や省略した場合は、 現在のマウスポインタ位置の x 座標が対象となります。
  [in] | mouseY | 判定対象クリック位置のy座標。 -1 を指定した場合や省略した場合は、 現在のマウスポインタ位置の y 座標が対象となります。

戻り値
  カーソルがモデルに重なっている場合は true、 いない場合は false を返します。

void fk_AppWindow::procMouseView | ( | fk_Model * | camera,
|  | double | spinX,
|  | double | spinY,
|  | bool | lockSW
| ) |  |

FPS視点的カメラ制御関数1.

FPS 視点のゲーム特有の、マウス移動による視点操作処理を行います。

引数

  [in] | camera | カメラモデル。
  [in] | spinX | 横方向の移動に対する回転角度。
  [in] | spinY | 縦方向の移動に対する回転角度。
  [in] | lockSW | true の場合、カーソルの中心を固定します。 false の場合は固定しません。

void fk_AppWindow::procMouseView | ( | fk_Model & | camera,
|  | double | spinX,
|  | double | spinY,
|  | bool | lockSW
| ) |  |

FPS視点的カメラ制御関数2.

FPS 視点のゲーム特有の、マウス移動による視点操作処理を行います。

引数

  [in] | camera | カメラモデル。
  [in] | spinX | 横方向の移動に対する回転角度。
  [in] | spinY | 縦方向の移動に対する回転角度。
  [in] | lockSW | true の場合、カーソルの中心を固定します。 false の場合は固定しません。