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

MFCD3DDyna.h

00001 // MFCD3DDyna.h : MFCD3DDyna アプリケーションのメイン ヘッダー ファイル
00002 //
00003 
00004 #if !defined(AFX_MFCD3DVIEWER_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_)
00005 #define AFX_MFCD3DDyna_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_
00006 
00007 #if _MSC_VER > 1000
00008 #pragma once
00009 #endif // _MSC_VER > 1000
00010 
00011 #ifndef __AFXWIN_H__
00012     #error include 'stdafx.h' before including this file for PCH
00013 #endif
00014 
00015 #include "resource.h"       // メイン シンボル
00016 
00017 /** @page MFCD3DDyna 物理シミュレータ(VisualC++ MFC SDI版)
00018     @section MFCD3DDynaAbst 概要
00019     Springheadライブラリを用いて作成した,物理シミュレータです.フレーム階層
00020     を持つDirectXファイルをロードして,表示し,物理シミュレーションを行います.
00021     
00022     キーボードとマウスで,視点を動かせます.
00023     力覚ポインタを持つデータファイルでは,力覚ポインタも動かせます.
00024     名前にD3Dが入っていますが,描画はOpenGLでも行えます.
00025     
00026     @section MFCD3DDynaHowToBuild ビルドの方法
00027     - 環境変数 Springhead に Springheadをインストールしたディレクトリを指定
00028       して下さい.Windows2000ならば[マイコンピュータ]-[プロパティ]-[詳細]-[環境変数]-
00029       [新規]のダイアログに[変数名] Springhead [変数値] C:\\home\\Project\\Springhead
00030       としてください.
00031     - DirectX8.1のSDKをインストールしてください.
00032     - <A href=../../Samples/MFCD3DDyna/MFCD3DDyna.dsw>Samples/MFCD3DDyna/MFCD3DDyna.dsw</A>を
00033       開いてビルドして実行してください.<br>
00034         ビルドが成功しない人は以下のことを確認してください.
00035         - DirectX SDKのインクルードファイルとライブラリファイルのディレクトリの設定<br>
00036         Visual C++ならば,[ツール]-[オプション]-[ディレクトリ]の「表示するディレクトリ(S)」
00037         を「インクルードファイル」に変え,DirectX SDKのインクルードファイルのディレクトリ
00038         (例:"C:\DXSDK\INCLUDE")が設定されているか確認してください.
00039         設定されていなければ設定してください.
00040         また,検索の優先順位を上げるために「↑」のボタンを何度かクリックして,
00041         一番上に来るようにしてください.<br>
00042         ライブラリファイルについてもインクルードファイルと同様にパスの設定を行ってください
00043         (「表示するディレクトリ(S)」を「ライブラリファイル」に変更する).
00044     
00045     - ロードするデータファイル(@ref XFile "Direct3D Xファイル")は
00046         <A href=../../Samples/data/>Samples/data/</A>にあります.
00047     
00048     @section MFCD3DDynaMouseHowToOperate 操作方法
00049     キーボード操作
00050 
00051     - ↑:前進
00052     - ↓:後退
00053     - ←:左回転
00054     - →:右回転
00055     - S:上回転
00056     - X:下回転
00057     - Q:左平行移動
00058     - W:右平行移動
00059     - A:上平行移動
00060     - Z:下平行移動
00061     - R:視点リセット
00062     - F:フルスクリーン
00063     - G:画面をフルスクリーンから元に戻す
00064     - スペース:ポインタに力を返すか返さないかのON-OFF
00065     - T:マルチメディアタイマーの起動(精度を求めるなら必要.Release版のみ)
00066 
00067 
00068     マウス操作
00069 
00070     - 左ドラッグ:ポインタをカメラ座標系のx軸,y軸周りに回転
00071     - 中ドラッグ:ポインタをカメラ座標系のx-z平面で平行移動
00072     - 右ドラッグ:ポインタをカメラ座標系のx-y平面で平行移動
00073     - 左右ドラッグ:ポインタをカメラ座標系のx-z平面で平行移動(中ボタンorホイールがないマウス用)
00074     - 右中ドラッグ:ポインタをカメラ座標系のy-z平面で平行移動
00075     - ホイール:ポインタをカメラ座標系のz軸方向に平行移動
00076     - 左ダブルクリック:ポインタの姿勢を初期化
00077     - 右ダブルクリック:ポインタの位置を初期化
00078     - Shift + 左ドラッグ:カメラをx軸,y軸周りに回転
00079     - Shift + 中ドラッグ:カメラをx-z平面で平行移動
00080     - Shift + 右ドラッグ:カメラをx-y平面で平行移動
00081     - Shift + 左右ドラッグ:カメラをx-z平面で平行移動(中ボタンorホイールがないマウス用)
00082     - Shift + 右中ドラッグ:カメラをy-z平面で平行移動
00083     - Shift + ホイール:カメラをz軸方向に平行移動
00084     - Shift + 左ダブルクリック:カメラの位置・姿勢を初期化  
00085 
00086     @section MFCD3DDynaPoint 見所
00087     - CMFCD3DDynaViewクラス<br>
00088         メンバ変数に,render(レンダラ),afBody*afHead(視点行列), 
00089         world(シーングラフのトップフレーム)を加えている.
00090     - CMFCD3DDynaView::OnInitialUpdate()<br>
00091         初期化
00092     - CMFCD3DDynaView::Load()<br>
00093         Xファイルのロード
00094     - CMFCD3DDynaView::OnDraw()<br>
00095         レンダリング処理
00096     - CMFCD3DDynaView::PreTranslateMessage()<br>
00097         マウスとキー入力処理.ここでキーとマウスのメッセージを見てしまっています.
00098     - CMFCD3DDynaDoc::OnOpenDocument()<br>
00099         ファイルのオープン(単にLoadを呼び出すだけ)
00100     他の部分はAppWizerdが作ったままになっています.
00101 */
00102 
00103 /////////////////////////////////////////////////////////////////////////////
00104 // CMFCD3DDynaApp:
00105 // このクラスの動作の定義に関しては MFCD3DDyna.cpp ファイルを参照してください。
00106 //
00107 class CMFCD3DDynaApp : public CWinApp
00108 {
00109 public:
00110     CMFCD3DDynaApp();
00111 
00112 // オーバーライド
00113     // ClassWizard は仮想関数のオーバーライドを生成します。
00114     //{{AFX_VIRTUAL(CMFCD3DDynaApp)
00115     public:
00116     virtual BOOL InitInstance();
00117     //}}AFX_VIRTUAL
00118 
00119 // インプリメンテーション
00120     //{{AFX_MSG(CMFCD3DDynaApp)
00121     afx_msg void OnAppAbout();
00122         // メモ - ClassWizard はこの位置にメンバ関数を追加または削除します。
00123         //        この位置に生成されるコードを編集しないでください。
00124     //}}AFX_MSG
00125     DECLARE_MESSAGE_MAP()
00126 };
00127 
00128 
00129 /////////////////////////////////////////////////////////////////////////////
00130 
00131 //{{AFX_INSERT_LOCATION}}
00132 // Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。
00133 
00134 #endif // !defined(AFX_MFCD3DDyna_H__76565EAB_E58D_4F61_A6A0_E8BB59F3208B__INCLUDED_)

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