00001 // DynaHaptic.h : DynaHaptic アプリケーションのメイン ヘッダー ファイル 00002 00003 #if !defined(AFX_MFCD3DVIEWER_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_) 00004 #define AFX_DynaHaptic_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_ 00005 00006 #if _MSC_VER > 1000 00007 #pragma once 00008 #endif // _MSC_VER > 1000 00009 00010 #ifndef __AFXWIN_H__ 00011 #error include 'stdafx.h' before including this file for PCH 00012 #endif 00013 00014 #include "resource.h" // メイン シンボル 00015 00016 /** @page DynaHaptic 物理シミュレータに力覚インタフェースでさわる. 00017 @section DynaHapticAbst 概要 00018 HISpidarG6 と 物理シミュレータ のサンプル. 00019 フレーム階層を持つDirectXファイルをロードして,SPIDARで触れる. 00020 00021 @section DynaHapticHowToBuild ビルドの方法 00022 - 環境変数 Springhead に Springheadをインストールしたディレクトリを指定 00023 して下さい.Windows2000ならば[マイコンピュータ]-[プロパティ]-[詳細]-[環境変数]- 00024 [新規]のダイアログに[変数名] Springhead [変数値] C:\\home\\Project\\Springhead 00025 としてください. 00026 - DirectX8.1または9のSDKをインストールしてください. 00027 - <A href=../Samples/DynaHaptic/DynaHaptic.dsw>Samples/DynaHaptic/DynaHaptic.dsw</A>を 00028 開いてビルドして実行してください. 00029 00030 @section DynaHapticHowToOperate 操作方法 00031 サンプルの操作方法 00032 - [UP]: 前進 00033 - [DOWN]: 後退 00034 - [LEFT]: 左回転 00035 - [RIGHT]: 右回転 00036 - A: 上昇 00037 - Z: 下降 00038 - Q: 左平行移動 00039 - W: 右平行移動 00040 - S: 上を向く 00041 - X: 下を向く 00042 - R: シーンのリロード(リセット) 00043 - D: 反力の提示(multi media timer と併用不可) 00044 - M: Multi media timer を使用 00045 - T: 通常のタイマー(WM_TIMER)を使用 00046 - C: キャリブレーション 00047 @section ヒューマンインタフェースの設定について 00048 - 設定内容はレジストリに保存されます. 00049 - Position Scale: SPIDARの動きをscale倍拡大して,バーチャル世界に反映します. 00050 - Force Scale: バーチャル世界での力を1/scaleに縮小して,力覚提示します. 00051 - Time step: データファイルに時間刻みが記されていない場合,この時間刻みでシミュレーションします. 00052 - Human interface list: 使用するヒューマンインタフェースを指定します. 00053 クラス名に対応するインタフェース名を並べると, 00054 見つかったインタフェースを力覚ポインタに順に割り当てます. 00055 00056 インタフェース名は: 00057 <pre> 00058 SpidarG6X 00059 SpidarG6X 00060 00061 Spidar4 00062 Spidar4 reverse 00063 00064 SpidarG6C 00065 SpidarG6C 00066 00067 Mouse 00068 </pre> 00069 こんな感じで指定します. 00070 00071 @section DynaHapticPoint 見所 00072 - CDynaHapticViewクラス<br> 00073 CDynaHapticView::app がフレームワークであり,ほとんどの処理を行っている. 00074 - CDynaHapticView::OnInitialUpdate()<br> 00075 初期化 00076 - CDynaHapticView::Load()<br> 00077 Xファイルのロード 00078 - CDynaHapticView::OnDraw()<br> 00079 レンダリング処理 00080 - CDynaHapticView::OnKeyDown()<br> 00081 キー入力による視点移動処理 00082 - CDynaHapticDoc::OnOpenDocument()<br> 00083 ファイルのオープン(単にLoadを呼び出すだけ) 00084 - CDynaHapticView::OnD3d(); 00085 D3Dでレンダリング 00086 - CDynaHapticView::OnGL(); 00087 OpenGLでレンダリング 00088 - CDynaHapticView::OnHisConfig(); 00089 ヒューマンインタフェースの設定 00090 @include DynaHapticView.cpp 00091 */ 00092 00093 ///////////////////////////////////////////////////////////////////////////// 00094 // CDynaHapticApp: 00095 // 00096 class CDynaHapticApp : public CWinApp 00097 { 00098 public: 00099 CDynaHapticApp(); 00100 00101 // オーバーライド 00102 // ClassWizard は仮想関数のオーバーライドを生成します。 00103 //{{AFX_VIRTUAL(CDynaHapticApp) 00104 public: 00105 virtual BOOL InitInstance(); 00106 //}}AFX_VIRTUAL 00107 00108 // インプリメンテーション 00109 //{{AFX_MSG(CDynaHapticApp) 00110 afx_msg void OnAppAbout(); 00111 // メモ - ClassWizard はこの位置にメンバ関数を追加または削除します。 00112 // この位置に生成されるコードを編集しないでください。 00113 //}}AFX_MSG 00114 DECLARE_MESSAGE_MAP() 00115 }; 00116 00117 00118 ///////////////////////////////////////////////////////////////////////////// 00119 00120 //{{AFX_INSERT_LOCATION}} 00121 // Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。 00122 00123 #endif // !defined(AFX_DynaHaptic_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_)