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_ModelgetCameraModel (void)
 カメラモデル取得関数 [詳細]
 
void setCameraDefault (void)
 カメラ初期化関数 [詳細]
 
シーン制御関数
void setScene (fk_Scene *scene, bool defCameraAndLight=false)
 シーン設定関数1 [詳細]
 
void setScene (fk_Scene &scene, bool defCameraAndLight=false)
 シーン設定関数2 [詳細]
 
fk_ScenegetScene (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_InputgetPadManager (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_Windowfk_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]forceFlagtrue の場合、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]fpsFPS値
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]defCameraAndLighttrue である場合、 カメラ・光源設定についてシーン設定前のものを用います。 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]defCameraAndLighttrue である場合、 カメラ・光源設定についてシーン設定前のものを用います。 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]visibletrue の場合、マウスカーソルを表示します。false の場合は消去します。
[in]centertrue の場合、マウスカーソルを画面中心に移動します。 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]modetrue であれば有効、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]lockSWtrue の場合、カーソルの中心を固定します。 false の場合は固定しません。
void fk_AppWindow::procMouseView ( fk_Model camera,
double  spinX,
double  spinY,
bool  lockSW 
)

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

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

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