Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
Public メソッド | |
virtual void | Init (int argc, char *argv[]) |
virtual void | Keyboard (int key, int x, int y) |
キーボードイベントのハンドラ [詳細] | |
Public メソッド inherited from FWApp | |
virtual void | Init () |
初期化 FWAppオブジェクトの初期化を行う.最初に必ず呼ぶ. | |
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 | 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 () |
リセットする | |
Public メソッド inherited from FWAppBase | |
virtual void | UserFunc () |
ユーザ関数 メインループ実行中にユーザが処理を加えたい場合,ここに記述する. 物理シミュレーションのステップの前に呼ばれる. | |
FWSdkIf * | GetSdk () |
SDKを取得する | |
void | CreateSdk () |
SDKを作成する | |
UTTimerIf * | CreateTimer (UTTimerIf::Mode mode=UTTimerIf::FRAMEWORK) |
タイマーを作成する [詳細] | |
UTTimerIf * | GetTimer (int i) |
タイマーを取得する [詳細] | |
int | NTimers () |
Public メソッド inherited from UTRefCount | |
UTRefCount (const UTRefCount &r) | |
UTRefCount & | operator= (const UTRefCount &r) |
int | AddRef () const |
int | DelRef () const |
int | RefCount () const |
Additional Inherited Members | |
Public 型 inherited from FWApp | |
enum | { TypeNone, TypeGLUT, TypeGLUI } |
Static Public メソッド inherited from FWApp | |
static FWApp * | GetApp () |
FWAppインスタンスを取得する | |
Protected 型 inherited from FWApp | |
typedef std::vector< UTRef < FWWinIf > > | Wins |
Protected 型 inherited from FWAppBase | |
typedef std::vector< UTRef < UTTimerIf > > | Timers |
Protected メソッド inherited from FWApp | |
void | AssignScene (FWWinIf *win) |
ウィンドウにシーンを与える [詳細] | |
void | StartInThread () |
Initialize in new thead. | |
void | CheckAndPostRedisplay () |
Protected 変数 inherited from FWApp | |
bool | bThread |
GLUTを別スレッドで動かす場合 true. | |
volatile bool | bPostRedisplay |
別スレッドに再描画の要求をするためのフラグ true で再描画 | |
volatile bool | bEndThread |
別スレッドの場合にスレッドを終了させる。 | |
UTCriticalSection | displayLock |
Wins | wins |
Protected 変数 inherited from FWAppBase | |
UTRef< FWSdkIf > | fwSdk |
Framework SDK. | |
Timers | timers |
Timers to call periodic processing. | |
Static Protected 変数 inherited from FWApp | |
static FWApp * | instance |
唯一のFWAppインスタンス | |
|
virtual |
key | キーコード |
x | カーソルx座標 |
y | カーソルy座標 特殊キーのキーコードは使用するグラフィクスライブラリに依存する. |
*GLUTの場合,glutKeyboardFuncコールバックとglutSpecialFuncコールバックで キーコードが重複している.そこでglutSpecialFuncコールバックに渡されたキーコードには 256が加算されてKeyboardに渡される.
FWAppを再定義しています。