Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス VTrajSampleApp
VTrajSampleAppに対する継承グラフ

Public 型

enum  { MENU_MAIN = MENU_SCENE }
 ページID
 
enum  {
  ID_RESET, ID_UP, ID_DOWN, ID_LEFT,
  ID_RIGHT, ID_PLIANT, ID_SOFT, ID_STIFF,
  ID_INCITERHIGH, ID_DECITERHIGH, ID_TOGGLETEST, ID_OUTFILE
}
 アクション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, MenuMenus
 
- Public 型 inherited from FWApp
enum  { TypeNone, TypeGLUT, TypeGLUI }
 

Public メソッド

virtual void Init (int argc, char *argv[])
 FWAppの実装 [詳細]
 
virtual void BuildScene ()
 派生クラスが実装する関数 [詳細]
 
virtual void OnStep ()
 1ステップのシミュレーション
 
virtual void OnAction (int menu, int id)
 アクション処理 [詳細]
 
void StepPliant ()
 
- Public メソッド inherited from SampleApp
FWSceneIfGetFWScene ()
 アクティブなシーン
 
PHSceneIfGetPHScene ()
 
void AddMenu (int menu, UTString brief)
 メニューの登録
 
ActionAddAction (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の反転
 
PHSolidIfCreateFloor (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 OnDraw (GRRenderIf *render)
 描画
 
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系イベントハンドラ [詳細]
 
FWWinIfCreateWin (const FWWinDesc &desc=FWWinDesc(), FWWinIf *parent=0)
 ウィンドウに対応するコンテキストを作る [詳細]
 
int NWin ()
 ウィンドウの数
 
FWWinIfGetWinFromId (int wid)
 ウィンドウをIDから探す [詳細]
 
FWWinIfGetWin (int index)
 ウィンドウを取得する [詳細]
 
FWWinIfGetCurrentWin ()
 現在のウィンドウを取得する
 
void DestroyWin (FWWinIf *win)
 ウィンドウを削除する
 
void SetCurrentWin (FWWinIf *win)
 現在のウィンドウを設定する
 
void PostRedisplay ()
 カレントウィンドウのノーマルプレーンを,再描画の必要に応じてマークする
 
int GetModifier ()
 Ctrl, Shift, Altの状態を返す 個々の派生クラスで実装される
 
void SetGRHandler (int type)
 描画の設定 FWGraphicsHandlerを設定する.最初に必ず呼ぶ.
 
GRDeviceIfGRInit ()
 FWGraphicsHandlerの初期化 FWGraphicsHandlerの初期化を行う.最初に必ず呼ぶ.
 
GRDeviceIfGRInit (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 ()
 ユーザ関数 メインループ実行中にユーザが処理を加えたい場合,ここに記述する. 物理シミュレーションのステップの前に呼ばれる.
 
FWSdkIfGetSdk ()
 SDKを取得する
 
void CreateSdk ()
 SDKを作成する
 
UTTimerIfCreateTimer (UTTimerIf::Mode mode=UTTimerIf::FRAMEWORK)
 タイマーを作成する [詳細]
 
UTTimerIfGetTimer (int i)
 タイマーを取得する [詳細]
 
int NTimers ()
 
- Public メソッド inherited from UTRefCount
 UTRefCount (const UTRefCount &r)
 
UTRefCountoperator= (const UTRefCount &r)
 
int AddRef () const
 
int DelRef () const
 
int RefCount () const
 

Public 変数

int argc
 
char ** argv
 
bool bPM
 
bool bHard
 
bool bTest
 
bool bOutTest
 
bool bOutFile
 
int time
 
int iter_high
 
double torque [400][2]
 
double intT [2]
 
double intRatio [2]
 
PHSolidIfsoTarget
 
PHIKEndEffectorIfikeTarget
 
PHJointIfjoX
 
- Public 変数 inherited from SampleApp
Menus menus
 
int curMenu
 表示中の共有メニュー
 
stringstream ss
 
UTString message
 一行メッセージ
 
FWEditorOverlay editor
 内部情報の表示/編集機能
 
UTRef< ObjectStatesIfstates
 状態保存用
 
UTTimerIftimer
 タイマ
 
CDBoxIfshapeFloor
 床用の形状
 
CDBoxIfshapeWallX
 
CDBoxIfshapeWallZ
 
CDBoxIfshapeBox
 作りおき形状
 
CDSphereIfshapeSphere
 
CDEllipsoidIfshapeEllipsoid
 
CDCapsuleIfshapeCapsule
 
CDRoundConeIfshapeRoundCone
 
CDConvexMeshIfshapeCoin
 
bool showHelp
 状態 [詳細]
 
int curScene
 アクティブなシーンの番号
 
Vec3d tmpGravity
 重力無効化時の退避変数
 
UTString appName
 属性: 派生クラスがコンストラクタで設定する [詳細]
 
int numScenes
 シーンの数
 
float ymargin
 ヘルプの描画属性
 
float xmargin
 
float yline
 
float xkeys
 
float xbrief
 
GRShaderIfshaderBase
 シェーダ
 
GRShaderIfshaderShadowCreate
 
GRShaderIfshaderShadowRender
 

Additional Inherited Members

- Static Public メソッド inherited from FWApp
static FWAppGetApp ()
 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< FWSdkIffwSdk
 Framework SDK.
 
Timers timers
 Timers to call periodic processing.
 
- Static Protected 変数 inherited from FWApp
static FWAppinstance
 唯一のFWAppインスタンス
 

関数

virtual void Init ( int  argc,
char *  argv[] 
)
inlinevirtual

シェーダ

光源設定

床用の形状

シーンの作成

描画設定

< ソリッド描画,ワイヤフレーム描画

< 座標軸

< 座標軸のスタイル

< 力

< 接触断面

SampleAppを再定義しています。

参照先 FWApp::Init().

virtual void OnAction ( int  menu,
int  id 
)
inlinevirtual

bTest = !bTest;

いつでも有効アクション

SampleAppを再定義しています。

参照先 SampleApp::OnAction().


このクラスの説明は次のファイルから生成されました: