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

D3FileDoc.h

00001 #ifndef D3FILEDOC_H
00002 #define D3FILEDOC_H
00003 
00004 //  DirectXのファイルローダを使用するかどうか
00005 #define USE_DXFILE
00006 
00007 
00008 #include <FileIO/FIDocNode.h>
00009 #include <FileIO/FIDocScene.h>
00010 #include <WinBasis/WBUtility.h>
00011 #include <WinDx/D3D/WXD3D.h>
00012 
00013 #ifdef USE_DXFILE
00014  #include <dxfile.h>
00015 #else
00016  #include <FileIO/MetaLoader/FIGenParser.h>
00017 #endif
00018 
00019 namespace Spr {;
00020 
00021 class D3ProtoSaver:public FIProtoSaver{
00022 public:
00023     virtual void SaveImp(std::ostream& os, const FITypeDescDb::ProtoDesc& proto);
00024 };
00025 
00026 void RegisterD3DLoader(FILoadScene* l);
00027 class SPR_DLL D3DocNode;
00028 /** ドキュメントとファイルの変換のためのコンテキスト.  */
00029 class SPR_DLL D3FileDoc:public FIFileDoc{
00030 protected:
00031     WXINTF(DirectXFileEnumObject) enumObject;
00032     WXINTF(DirectXFileSaveObject) saveObject;
00033     std::map<WBGuid, UTString> typeNameMap;
00034     std::map<UTString, WBGuid, UTStringLess> typeGuidMap;
00035     std::vector<WBGuid> typeGuids;
00036 #ifndef USE_DXFILE
00037     UTRef<FIGenParser> fileIo;
00038 #endif
00039 public:
00040     D3FileDoc();
00041     void Init();
00042     void RegisterFromTypeDB();
00043     void RegisterType(UTString name, const GUID* guid);
00044     UTString GetTypeName(const GUID* g){ return typeNameMap[*g]; }
00045     GUID GetTypeGuid(UTString n){ return typeGuidMap[n]; }
00046     void Print(std::ostream& os) const;
00047 
00048     /// ファイルからドキュメントオブジェクトを作成
00049     virtual bool Load(UTString filename);
00050     /// ドキュメントオブジェクトに保存
00051     virtual bool Save(UTString filename, FIDocNodeBase* doc);
00052 protected:
00053     /// ロードの再帰部分
00054     void LoadRecurse();
00055     /// セーブの再帰部分
00056     void SaveRecurse();
00057     /// DirectXにない新規テンプレートの登録
00058     void RegisterTemplates();
00059 };
00060 
00061 
00062 }   //  Spr
00063 #endif

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