メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

MFCD3DDynaView.h

00001 // VirtualHumanView.h : CMFCD3DDynaView クラスの宣言およびインターフェイスの定義をします。
00002 //
00003 /////////////////////////////////////////////////////////////////////////////
00004 
00005 #if !defined(AFX_VirtualHumanVIEW_H__2DC375FA_13A6_4A8D_ABC1_344D836C16E0__INCLUDED_)
00006 #define AFX_VirtualHumanVIEW_H__2DC375FA_13A6_4A8D_ABC1_344D836C16E0__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include <WinBasis/WBMMTimer.h>
00013 #include <Graphics/GRRender.h>
00014 #include <Graphics/GRCamera.h>
00015 #include <ImpD3D/D3FileDoc.h>
00016 #include <ImpD3D/D3DocNode.h>
00017 #include <Physics/PHSolid.h>
00018 #include <Physics/PHContactEngine.h>
00019 #include <HIS/HIMouse.h>
00020 #include <Framework/FWPointer.h>
00021 
00022 /// View
00023 class CMFCD3DDynaView : public CView
00024 {
00025 protected: // シリアライズ機能のみから作成します。
00026     CMFCD3DDynaView();
00027     DECLARE_DYNCREATE(CMFCD3DDynaView)
00028 // アトリビュート
00029 public:
00030     float dt;                           ///<    更新周期
00031     Spr::UTRef<Spr::GRRender> render;   ///<    レンダラー
00032     Spr::UTRef<Spr::SGScene> scene;     ///<    シーングラフ
00033     std::string loadFile;               ///<    OnInitialUpdateでロードすべきファイル名
00034     std::string loadFileName;           ///<    リロード用に記憶しておくファイル名
00035     Spr::GRCameraData initialCamera;    ///<    ファイルロード時のカメラデータ
00036     Spr::UTRef<Spr::PHContactEngine> contactEngine;
00037                                         ///<    接触エンジン.接触力の描画に使用
00038     Spr::WBMMTimer timer;               ///<    マルチメディアタイマー
00039     UINT simTimerID;                    ///<    シミュレーション用のWM_TIMERのタイマーID
00040     UINT drawTimerID;                   ///<    描画用のWM_TIMERのタイマーID
00041     volatile bool bUpdate;              ///<    更新フラグ
00042 
00043     Spr::UTRef<Spr::HIMouse> mouse;     ///<    マウスデバイス
00044     Spr::FWPointer6D pointer;           ///<    力覚ポインタ
00045     bool bMinForce;                     ///<    最小張力にするかどうかのフラグ
00046 
00047     void Import(std::string filename);  ///<    データファイルのインポート
00048     void Load(std::string filename);    ///<    データファイルのロード
00049     void Save(std::string filename);    ///<    データファイルのセーブ
00050     void Step();                        ///<    シミュレーションのステップ
00051     void UpdateMouse();                 ///<    マウスデバイスの更新
00052     void ThrowSphere(float r);          ///<    ボールを投げる
00053 
00054     CMFCD3DDynaDoc* GetDocument();
00055 // オペレーション
00056 public:
00057 
00058 // オーバーライド
00059     // ClassWizard は仮想関数のオーバーライドを生成します。
00060     //{{AFX_VIRTUAL(CMFCD3DDynaView)
00061     public:
00062     virtual void OnDraw(CDC* pDC);  // このビューを描画する際にオーバーライドされます。
00063     virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
00064     virtual void OnInitialUpdate();
00065     virtual BOOL PreTranslateMessage(MSG* pMsg);
00066     //}}AFX_VIRTUAL
00067 
00068 // インプリメンテーション
00069 public:
00070     virtual ~CMFCD3DDynaView();
00071 #ifdef _DEBUG
00072     virtual void AssertValid() const;
00073     virtual void Dump(CDumpContext& dc) const;
00074 #endif
00075 protected:
00076 
00077 // 生成されたメッセージ マップ関数
00078 protected:
00079     //{{AFX_MSG(CMFCD3DDynaView)
00080     afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
00081     afx_msg BOOL OnEraseBkgnd(CDC* pDC);
00082     afx_msg void OnTimer(UINT nIDEvent);
00083     afx_msg void OnDestroy();
00084     afx_msg void OnRenderD3d();
00085     afx_msg void OnRenderGl();
00086     afx_msg void OnFileInsert();
00087     //}}AFX_MSG
00088     DECLARE_MESSAGE_MAP()
00089 };
00090 
00091 #ifndef _DEBUG  // VirtualHumanView.cpp ファイルがデバッグ環境の時使用されます。
00092 inline CMFCD3DDynaDoc* CMFCD3DDynaView::GetDocument()
00093    { return (CMFCD3DDynaDoc*)m_pDocument; }
00094 #endif
00095 
00096 /////////////////////////////////////////////////////////////////////////////
00097 
00098 //{{AFX_INSERT_LOCATION}}
00099 // Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。
00100 
00101 #endif // !defined(AFX_VirtualHumanVIEW_H__2DC375FA_13A6_4A8D_ABC1_344D836C16E0__INCLUDED_)

Springheadに対してSun Apr 16 01:57:53 2006に生成されました。  doxygen 1.4.1