アプリケーションクラス Springheadのクラスは基本的に継承せずに使用するように設計されているが, FWAppおよびその派生クラスは例外であり,ユーザはFWAppあるいはその派生クラスを継承し, 仮想関数をオーバライドすることによって独自機能を実装する.
|
virtual void | Init () |
| 初期化 FWAppオブジェクトの初期化を行う.最初に必ず呼ぶ.
|
|
virtual void | Init (int argc, char *argv[]=NULL) |
|
void | InitInNewThread () |
| Create new thead and start.
|
|
void | EndThread () |
|
virtual void | Display () |
| シーンの描画 シーンが表示されるときに呼ばれる. 描画処理をカスタマイズしたい場合にオーバライドする. デフォルトではFWSdk::Drawが呼ばれる.
|
|
void | DisableIdleFunc () |
| IdleFuncの呼び出しを有効化/無効化する glutの場合,glutIdleFuncに対応する. [詳細]
|
|
void | EnableIdleFunc (bool on=true) |
|
void | StartMainLoop () |
| メインループの実行 glutの場合,glutMainLoopの実行
|
|
void | EndMainLoop () |
| メインループの終了 freeglutの場合,glutLeaveMainLoopを実行、それ以外の場合は exit(0)
|
|
virtual void | IdleFunc () |
| アイドル処理 イベントが何もない場合にバックグラウンド処理を行う.
|
|
virtual void | TimerFunc (int id) |
| タイマー処理 繰り返し実行を行う. デフォルトではid = 0でコールバック
|
|
virtual void | Reshape (int w, int h) |
| 描画領域のサイズ変更 [詳細]
|
|
virtual void | Keyboard (int key, int x, int y) |
| キーボードイベントのハンドラ [詳細]
|
|
virtual void | MouseButton (int button, int state, int x, int y) |
| マウスイベントのハンドラ
|
|
virtual void | MouseMove (int x, int y) |
| マウスイベントのハンドラ デフォルトでは左ドラッグで視点変更,右ドラッグでズームイン/アウト
|
|
virtual void | Joystick (unsigned int buttonMask, int x, int y, int z) |
| ジョイスティックのハンドラ
|
|
virtual void | AtExit () |
| 終了処理ハンドラ
|
|
virtual bool | OnMouse (int button, int state, int x, int y) |
| DVKeyMouseHandlerの仮想関数 デフォルトではFWAppの従来のイベントハンドラを呼びだすのみ. こちらを直接オーバライドしてもよい.
|
|
virtual bool | OnMouseMove (int button, int x, int y, int zdelta) |
| マウスが動いたときの処理 [詳細]
|
|
virtual bool | OnDoubleClick (int button, int x, int y) |
| ダブルクリック時の処理 [詳細]
|
|
virtual bool | OnKey (int state, int key, int x, int y) |
| キー入力処理 [詳細]
|
|
virtual void | OnControlUpdate (FWControlIf *ctrl) |
| GUI系イベントハンドラ [詳細]
|
|
FWWinIf * | CreateWin (const FWWinDesc &desc=FWWinDesc(), FWWinIf *parent=0) |
| ウィンドウに対応するコンテキストを作る [詳細]
|
|
int | NWin () |
| ウィンドウの数
|
|
FWWinIf * | GetWinFromId (int wid) |
| ウィンドウをIDから探す [詳細]
|
|
FWWinIf * | GetWin (int index) |
| ウィンドウを取得する [詳細]
|
|
FWWinIf * | GetCurrentWin () |
| 現在のウィンドウを取得する
|
|
void | DestroyWin (FWWinIf *win) |
| ウィンドウを削除する
|
|
void | SetCurrentWin (FWWinIf *win) |
| 現在のウィンドウを設定する
|
|
void | PostRedisplay () |
| カレントウィンドウのノーマルプレーンを,再描画の必要に応じてマークする
|
|
int | GetModifier () |
| Ctrl, Shift, Altの状態を返す 個々の派生クラスで実装される
|
|
void | SetGRHandler (int type) |
| 描画の設定 FWGraphicsHandlerを設定する.最初に必ず呼ぶ.
|
|
GRDeviceIf * | GRInit () |
| FWGraphicsHandlerの初期化 FWGraphicsHandlerの初期化を行う.最初に必ず呼ぶ.
|
|
GRDeviceIf * | GRInit (int argc, char *argv[]=NULL, int type=TypeGLUT) |
|
void | GetDisplayLock () |
| Display関数呼び出しの排他ロックを取得する
|
|
void | ReleaseDisplayLock () |
| Display関数呼び出しの排他ロックを解放する
|
|
void | InitWindow () |
| 削除候補API [詳細]
|
|
void | Clear () |
| 初期状態にする
|
|
void | Reset () |
| リセットする
|
|
virtual void | UserFunc () |
| ユーザ関数 メインループ実行中にユーザが処理を加えたい場合,ここに記述する. 物理シミュレーションのステップの前に呼ばれる.
|
|
FWSdkIf * | GetSdk () |
| SDKを取得する
|
|
void | CreateSdk () |
| SDKを作成する
|
|
UTTimerIf * | CreateTimer (UTTimerIf::Mode mode=UTTimerIf::FRAMEWORK) |
| タイマーを作成する [詳細]
|
|
UTTimerIf * | GetTimer (int i) |
| タイマーを取得する [詳細]
|
|
int | NTimers () |
|
| UTRefCount (const UTRefCount &r) |
|
UTRefCount & | operator= (const UTRefCount &r) |
|
int | AddRef () const |
|
int | DelRef () const |
|
int | RefCount () const |
|
virtual void Keyboard |
( |
int |
key, |
|
|
int |
x, |
|
|
int |
y |
|
) |
| |
|
inlinevirtual |
- 引数
-
key | キーコード |
x | カーソルx座標 |
y | カーソルy座標 特殊キーのキーコードは使用するグラフィクスライブラリに依存する. |
*GLUTの場合,glutKeyboardFuncコールバックとglutSpecialFuncコールバックで キーコードが重複している.そこでglutSpecialFuncコールバックに渡されたキーコードには 256が加算されてKeyboardに渡される.
SampleApp, MyApp, PHOpDemo, VirtualHuman, MyApp, MyApp, VTraj, PHOpDemo, MyApp, IK, IK, FWHapticSample, App, FWMultiWinSample, FWFileLoaderSample, FWGLUISample, FWAppSample, と FWVrmlfileLoaderで再定義されています。
参照元 FWApp::OnKey().