00001 /** 00002 @mainpage <a href="http://springhead.info">Springhead</a> 00003 <center> 00004 @!JA長谷川晶一,岡田直樹,田崎勇一,市川宙,藤井伸旭,白井暁彦,田上信一郎 00005 @!EN Shoichi HASEGAWA, Naoki Okada, Yuuichi TAZAKI, Hirosi ICHIKAWA, Nobuaki FUJII, 00006 Akihiko SHIRAI, Shinichirou TAGAMI 00007 @!* 00008 <br> 00009 </center> 00010 00011 @section SpringheadAbstract @!JA 概要 @!EN Abstract 00012 @!JA 00013 Springheadは東工大,佐藤・小池研助手の長谷川晶一が中心に開発している 00014 バーチャルリアリティ開発環境の開発コードネームです.<br> 00015 力覚提示装置の制御と物理シミュレータが統合されているので,力覚提示装置で 00016 物理則を持つVR空間とインタラクションできます.<br> 00017 @!EN 00018 Springhead is a code name of a virtual reality software 00019 development environment, which is being developed by Shoichi Hasegawa, 00020 a research associate for Sato & Koike Lab in Tokyo Institute of Technology.<br> 00021 Using Springhead, you can interact with virtual world with physics law 00022 via haptic interfaces. Springhead has rigid body motion simulator 00023 and haptic device controller. 00024 @!* 00025 00026 @section SpringheadDocument @!JAこのドキュメントについて @!EN About this document 00027 @!JA 00028 このドキュメントはDoxygenというツールを使ってソースコードから生成しています. 00029 このページも Springhead/src/Spinghead.h から生成しました.<br> 00030 - Springheadをはじめて使用する場合は,まず,<A href="../../ReadMe.JA.txt"> 00031 ReadMe.JA.txt</A>を参照してください. 00032 - <A href="http://springhead.info/wiki">SpringheadのWiki</A>にもドキュメントがあります. 00033 00034 <A href="../../SpringheadDoc.bat">Springhead/src/SpringheadDoc.bat</A> 00035 を実行するとこのドキュメントを生成することができます. 00036 ドキュメントに不具合がある場合は, 00037 ソースファイルのコメントにバグがあるかも知れません. 00038 <A href="../../doxygen.log">doxygen.log</A>を見てください.<br> 00039 doxygenについてはdoxygenのホームページを参照してください.<br> 00040 @!EN 00041 This document is generated by Doxygen from soruce code. 00042 This page is genarated from Springhead/src/Spinghead.h. <br> 00043 - Please read <A href="../../ReadMe.EN.txt">ReadMe.EN.txt</A> first.<br> 00044 - There are some documents on <A href="http://springhead.info/wiki">Wiki for Springhead</A>. 00045 00046 You can generate document by executing <A href="../../SpringheadDoc.bat">Springhead/src/SpringheadDoc.bat</A>. 00047 If there is some problem in document, Some comments in soruce files may have 00048 bugs In such cases, please see <A href="../../doxygen.log">doxygen.log</A>.<br> 00049 Please see docxygen's home page for the detail of doxygen. <br> 00050 @!* 00051 00052 @section SpringheadArchitecture @!JA 構成 @!EN Architecture @!* 00053 @!JA 次のような構成になっています. 00054 @!EN Following is architecture of Springhead. 00055 @!* 00056 00057 @subsection utilityLibs @!JA C++やDirectXなどを便利に使うための汎用ライブラリ 00058 @!EN Generic utilities for C++ or DirectX. 00059 @!* 00060 - @ref Base 00061 @!JA C++を便利にするための基本的なライブラリ.<br> 00062 @!EN Basic utility library for C++.<br> 00063 @!* Classes: @ref Affine @ref UTRef ... 00064 - @ref WinBasis 00065 @!JA Windows.hの問題点を解消するためのライブラリ.<br> 00066 構成間の相違の吸収,面倒なAPIのラッパクラス<br> 00067 @!EN Fixing for Windows.h's problem.<br> 00068 Absorbers for difference in configurations. 00069 Wrappers for complicated APIs.<br> 00070 @!* Classes: Spr::WBMMTimer Spr::WBComStream Spr::WBSocket Spr::WBGuid ... 00071 - @ref WinDX 00072 @!JA DirectXを使う上での面倒を解消するためのライブラリ.<br> 00073 @!EN Wrappers for DirectX<br> 00074 @!* Classes: Spr::WXUnknown Spr::WXInterface Spr::WXDXError Spr::WXD3D8Device 00075 00076 @subsection functionLibs @!JA シーングラフやファイル入出力などSpringheadの機能を構成するライブラリ 00077 @!EN Libraries which create the functions of the springhead such as, scene graphs or file loaders and savers. 00078 - @ref SceneGraph 00079 @!JA シーングラフを作るクラスたち<br> 00080 @!EN Scene Graph<br> 00081 @!* Classes: Spr::SGFrame Spr::SGVisual ... @ref Implementation is done by ImpD3D. 00082 - @ref FileIO 00083 @!JA ファイル入出力を楽にするクラスたち.<br> 00084 Spr::FIDocNode のツリーからなるドキュメントを操作することで 00085 ファイルの入出力を行う.実装は @ref @!JA ImpD3D などで行う. 00086 @!EN File input/output helper classes.<br> 00087 File input/output can be done by operating documents, 00088 which consist from tree of Spr::FIDocNode. 00089 Implimentations are done by inherited package like @ref @!EN ImpD3D. 00090 @!* 00091 - @ref ImpD3D 00092 @!JA Direct3D を用いた実装.<br> 00093 Direct3Dを用いて,レンダラとファイル入出力を実現する. 00094 @!EN Implementation with Direct3D,<br> 00095 Implementation of rendering and file input/output with Direct3D. 00096 @!* 00097 @subsection springheadSamples @!JA サンプルプログラム @!EN Sample programs @!* 00098 - @ref MFCD3DDyna 物理シミュレーションとグラフィックのデモ 00099 - @ref Spidar 力覚インタフェースSPIDARで壁を提示するだけのサンプル.物理,グラフィックなし. 00100 - @ref DynaHaptic 力覚インタフェース+物理シミュレーション 00101 00102 @section SpringheadPoint @!JAチュートリアル @!EN Tutorial @!* 00103 - @ref TutorialVC 00104 00105 @section SpringheadHack @!JAソースコードハックのしかた @!EN How to hack the source @!* 00106 00107 - @!JA まず,サンプルの @ref DynaHaptic を見て大まかな処理の流れを 00108 つかんでください. 00109 @!EN See the sample program of @ref DynaHaptic to understand 00110 main flow of the execution.@!* 00111 - @!JA 次に,見慣れないクラスや書き方が目に付くと思いますので, 00112 それらを @ref Base, @ref WinBasis, @ref WinDX を参照して確認してください. 00113 @!EN You'll find unfamiliar classes and idioms. 00114 Please check them, by refering @ref Base, @ref WinBasis, @ref WinDX.@!* 00115 - @!JA 大まかな構造が知りたいときは, 00116 <A href="../SceneGraph/class.ppt">クラス・パッケージ図(目標)</A> 00117 や<A href="inherits.html">実際のクラス図</A>を見てください. 00118 @!EN If you want to know general structure, see 00119 <A href="../SceneGraph/class.ppt">classes and pakages diagram (A desk plan)</A> 00120 or <A href="inherits.html">real class diagram</A>.@!* 00121 - @!JA 処理の詳細が知りたくなったら, @ref ImpD3D を見てください.Direct3D 00122 を呼び出しているところがあります. 00123 @!EN If you want to know detail of execution, see @ref ImpD3D. 00124 That calls DirectX APIs.@!* 00125 - @!JA 力覚提示装置などのヒューマンインタフェース(@ref HIS)は, 00126 デバイス(@ref Device)と分離してあります. 00127 これにより,たとえばSpidarのモータドライバを取り替えても, 00128 アルゴリズム部分(@ref HIS)は書き換えなくてすむようになっています. 00129 @!EN Human interfaces(@ref HIS) such as haptic interfaces 00130 are decoupled from device(@ref Device). 00131 Therefore, for example, you can change SPIDAR's motor driver with 00132 out rewriting algirithum part(@ref HIS).@!* 00133 00134 @section misc @!JA雑多なこと @!EN Miscellany@!* 00135 @subsection MultiLanguageDocument @!JAドキュメントの多国語対応 @!EN Treatment of multiple language document 00136 @!JA 00137 ドキュメントの多国語対応は次のように行います. 00138 - 最初は母国語でコメントを記入する. 00139 - 別の言語のコメントを足すときは,言語識別タグを入れる.(ソースコードには 00140 全言語のコメントが記入される.) 00141 - ドキュメント生成時に doxygen が読む前に,ソースコードにフィルタを掛ける 00142 ことで,必要な必要な言語のマニュアルを生成する. 00143 言語識別用のタグは @@と!と2文字の言語識別文字列(JAが日本語,ENが英語)です. 00144 (続けて書くとフィルタされてしまうので分けて書いています) 00145 タグは次の@@まで有効です. 00146 <A href="../../SpringheadJA.doxy">Springhead/src/SpringheadJA.doxy</A> 00147 の INPUT_FILTER を書き換えることで,生成するドキュメントの言語を選択できます. 00148 00149 @!EN 00150 Following is how to make multi-language documents; 00151 - At first, write comment in your mothor tange. 00152 - When writting in other language, insert language identication tag. 00153 (So, the source code will have comments in all languages.) 00154 - In document generation, we can use filter to create a document in proper 00155 language. 00156 The language identification tag is @@ ! and language id of two characters 00157 (JA is japanese and EN is english). 00158 (It should be no space. I can't write real tag because it will be filtered.) 00159 Tags affect to next @@. 00160 By changing INPUT_FILTER in 00161 <A href="../../SpringheadEN.doxy">Springhead/src/SpringheadEN.doxy</A> 00162 you can choose language of document to generate. 00163 00164 @section contanct @!JA連絡先 00165 長谷川 晶一 <hase@hi.pi.titech.ac.jp> 00166 東京工業大学 精密工学研究所 〒226-8503 横浜市緑区長津田町 4259 00167 佐藤・小池研究室 00168 @!EN Contact 00169 Shoichi HASEGAWA<hase@hi.pi.titech.ac.jp> 00170 Sato & Koike group, Precision and Intelligence Lab, 00171 Tokyo institute of technology, 00172 4259 Nagatsuta-cho Midori-ku Yokohama-shi Kanagawa-ken Japan, 226-8503. 00173 @!* 00174 */ 00175 00176 /** @!JA Springheadの名前空間.本来はパッケージ単位で名前空間を定義すべきだが, 00177 Visual C++ の名前空間にやっかいなバグがあるので,ひとつの名前空間に 00178 すべてを入れている. 00179 @!EN namespace for Springhead. 00180 */ 00181 namespace Spr{ 00182 }