|  | Springhead
    An open source physics engine for virtual reality, haptics and motion generation. | 

| Public 型 | |
| enum | { MENU_MAIN = MENU_SCENE } | 
| ページID | |
| enum | { ID_RESET } | 
| アクションID | |
|  Public 型 inherited from SampleApp | |
| enum | MenuID { MENU_ALWAYS = 0, MENU_SCENE = 1, MENU_COMMON = 100, MENU_CONFIG = MENU_COMMON, MENU_DRAW, MENU_STATE, MENU_EDITOR, MENU_COMMON_LAST } | 
| メニューID MENU_ALWAYSはいつでも表示される シーンに対応するメニューは1~99のIDを使用(シーンは99個まで) 100以降を共有メニューが使用  [詳細] | |
| enum | ActionAlways { ID_EXIT, ID_RUN, ID_STEP } | 
| アクションID 常につかえるアクション  [詳細] | |
| enum | ActionState { ID_LOAD_STATE, ID_SAVE_STATE, ID_RELEASE_STATE, ID_READ_STATE, ID_WRITE_STATE, ID_DUMP } | 
| ステートの保存と復帰(未検証) | |
| enum | ActionConfig { ID_SWITCH_LCP_PENALTY, ID_TOGGLE_GRAVITY, ID_TOGGLE_JOINT, ID_TOGGLE_ABA, ID_INC_TIMESTEP, ID_DEC_TIMESTEP, ID_INC_TIMER, ID_DEC_TIMER } | 
| 物理シミュレーションの設定  [詳細] | |
| enum | ActionDraw { ID_DRAW_GRAPHICS, ID_DRAW_SOLID, ID_DRAW_WIREFRAME, ID_DRAW_AXIS, ID_DRAW_FORCE, ID_DRAW_CONTACT } | 
| 描画の設定  [詳細] | |
| enum | ShapeID { SHAPE_BOX, SHAPE_CAPSULE, SHAPE_ROUNDCONE, SHAPE_SPHERE, SHAPE_ELLIPSOID, SHAPE_ROCK, SHAPE_BLOCK, SHAPE_COIN } | 
| 形状ID | |
| typedef map< int, Menu > | Menus | 
|  Public 型 inherited from FWApp | |
| enum | { TypeNone, TypeGLUT, TypeGLUI } | 
| Public メソッド | |
| virtual void | Init (int argc, char *argv[]) | 
| FWAppの実装  [詳細] | |
| virtual void | BuildScene () | 
| 派生クラスが実装する関数  [詳細] | |
| virtual void | OnAction (int menu, int id) | 
| アクション処理  [詳細] | |
| virtual void | OnStep () | 
| 1ステップのシミュレーション | |
| virtual void | OnDraw (GRRenderIf *render) | 
| 描画 | |
|  Public メソッド inherited from SampleApp | |
| FWSceneIf * | GetFWScene () | 
| アクティブなシーン | |
| PHSceneIf * | GetPHScene () | 
| void | AddMenu (int menu, UTString brief) | 
| メニューの登録 | |
| Action & | AddAction (int menu, int id, UTString desc, UTString msg="", UTString descd="", UTString msgd="") | 
| アクションの登録 | |
| void | AddHotKey (int menu, int id, int key, UTString alt="") | 
| アクションとキーの対応 | |
| bool | ToggleAction (int menu, int id) | 
| On/Offの反転 | |
| PHSolidIf * | CreateFloor (bool bWall) | 
| 床の作成 | |
| void | SwitchScene (int id) | 
| void | Drop (int shape, int mat, Vec3d v, Vec3d w, Vec3d p, Quaterniond q) | 
| 色々な形の物体を作成  [詳細] | |
| void | Shoot (int shape, int mat) | 
| void | DrawMenu (GRRenderIf *render, int id, Vec2f &offset) | 
| メニューの表示 | |
| void | DrawHelp (GRRenderIf *render) | 
| 付加情報の表示 | |
| virtual double | ShapeScale () | 
| SampleApp () | |
| virtual void | Cleanup () | 
| virtual void | TimerFunc (int id) | 
| タイマー処理 繰り返し実行を行う. デフォルトではid = 0でコールバック  [詳細] | |
| virtual void | Display () | 
| シーンの描画 シーンが表示されるときに呼ばれる. 描画処理をカスタマイズしたい場合にオーバライドする. デフォルトではFWSdk::Drawが呼ばれる. | |
| 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 () | 
| 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 | 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 | 
| Public 変数 | |
| int | argc | 
| char ** | argv | 
| Optimizer< nsub > | optimizer | 
| JointTrajectory< nsub > | jt [2] | 
| ObjectStatesIf * | states_ | 
| bool | bStarted | 
| PHSolidIf * | soTarget | 
| PHIKEndEffectorIf * | ikeTarget | 
| PHHingeJointIf * | jo1 | 
| PHHingeJointIf * | jo2 | 
| PHHingeJointIf * | jo3 | 
| PHHingeJointIf * | jo4 | 
|  Public 変数 inherited from SampleApp | |
| Menus | menus | 
| int | curMenu | 
| 表示中の共有メニュー | |
| stringstream | ss | 
| UTString | message | 
| 一行メッセージ | |
| FWEditorOverlay | editor | 
| 内部情報の表示/編集機能 | |
| UTRef< ObjectStatesIf > | states | 
| 状態保存用 | |
| UTTimerIf * | timer | 
| タイマ | |
| CDBoxIf * | shapeFloor | 
| 床用の形状 | |
| CDBoxIf * | shapeWallX | 
| CDBoxIf * | shapeWallZ | 
| CDBoxIf * | shapeBox | 
| 作りおき形状 | |
| CDSphereIf * | shapeSphere | 
| CDEllipsoidIf * | shapeEllipsoid | 
| CDCapsuleIf * | shapeCapsule | 
| CDRoundConeIf * | shapeRoundCone | 
| CDConvexMeshIf * | shapeCoin | 
| bool | showHelp | 
| 状態  [詳細] | |
| int | curScene | 
| アクティブなシーンの番号 | |
| Vec3d | tmpGravity | 
| 重力無効化時の退避変数 | |
| UTString | appName | 
| 属性: 派生クラスがコンストラクタで設定する  [詳細] | |
| int | numScenes | 
| シーンの数 | |
| float | ymargin | 
| ヘルプの描画属性 | |
| float | xmargin | 
| float | yline | 
| float | xkeys | 
| float | xbrief | 
| GRShaderIf * | shaderBase | 
| シェーダ | |
| GRShaderIf * | shaderShadowCreate | 
| GRShaderIf * | shaderShadowRender | 
| Static Public 変数 | |
| static const int | nsub = 1 | 
| Additional Inherited Members | |
|  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インスタンス | |
| 
 | inlinevirtual | 
シーン構築を行う.
SampleAppを再定義しています。
参照先 ObjectIf::AddChildObject(), PHBodyIf::AddShape(), ObjectStatesIf::Create(), PHSdkIf::CreateShape(), DSTR, CDRoundConeDesc::length, PHSceneDesc::MODE_NONE, PHConstraintDesc::poseSocket, Spr::Rad(), CDRoundConeDesc::radius, PHSolidIf::SetDynamical(), PHSolidIf::SetFramePosition(), PHBodyIf::SetShapePose(), PHIKEndEffectorIf::SetTargetPosition(), と PHIKEndEffectorDesc::targetLocalPosition.
| 
 | inlinevirtual | 
シェーダ
光源設定
床用の形状
シーンの作成
描画設定
< ソリッド描画,ワイヤフレーム描画
< 座標軸
< 座標軸のスタイル
< 力
< 接触断面
SampleAppを再定義しています。
参照先 FWApp::Init().
| 
 | inlinevirtual |