source:
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/ResourceManager.h
@
2844
Revision 2844, 1.3 KB checked in by mattausch, 16 years ago (diff) |
---|
Rev | Line | |
---|---|---|
[2795] | 1 | #ifndef __ResourceManager_H__ |
2 | #define __ResourceManager_H__ | |
[2747] | 3 | |
[2795] | 4 | |
[2747] | 5 | #include <string> |
[2755] | 6 | #include <iostream> |
7 | #include <fstream> | |
[2757] | 8 | #include <map> |
[2755] | 9 | #include "common.h" |
[2747] | 10 | |
[2840] | 11 | |
[2795] | 12 | class igzstream; |
[2747] | 13 | |
[2795] | 14 | |
[2776] | 15 | namespace CHCDemoEngine |
[2755] | 16 | { |
17 | ||
18 | class SceneEntity; | |
19 | class Material; | |
[2747] | 20 | class Geometry; |
[2757] | 21 | class Texture; |
[2795] | 22 | class Matrix4x4; |
[2840] | 23 | class Transform3; |
[2747] | 24 | |
[2840] | 25 | |
[2795] | 26 | /** Loads a scene and also handles the cleanup |
27 | */ | |
28 | class ResourceManager | |
[2747] | 29 | { |
30 | public: | |
31 | ||
[2795] | 32 | ~ResourceManager(); |
33 | /** Loads a model | |
34 | */ | |
[2755] | 35 | bool Load(const std::string &filename, SceneEntityContainer &geometry); |
[2844] | 36 | SceneEntityContainer mSceneEntities; |
[2747] | 37 | |
38 | protected: | |
[2755] | 39 | |
[2795] | 40 | void LoadTextures(igzstream &str); |
41 | void LoadShapes(igzstream &str); | |
42 | void LoadSceneEntities(igzstream &str, SceneEntityContainer &entities); | |
[2757] | 43 | |
[2795] | 44 | SceneEntity *LoadSceneEntity(igzstream &str); |
45 | Material *LoadMaterial(igzstream &str); | |
46 | Geometry *LoadGeometry(igzstream &str); | |
[2747] | 47 | |
[2757] | 48 | std::map<int, Texture *> mTextureTable; |
[2764] | 49 | std::map<int, Material *> mMaterialTable; |
50 | std::map<int, Geometry *> mGeometryTable; | |
[2842] | 51 | //std::map<int, Shape *> mShapesTable; |
[2795] | 52 | |
53 | // these are kept to be able to delete these resources afterwards | |
54 | std::vector<Texture *> mTextures; | |
55 | std::vector<Material *> mMaterials; | |
56 | std::vector<Geometry *> mGeometry; | |
[2840] | 57 | std::vector<Transform3 *> mTrafos; |
[2842] | 58 | |
59 | ShapeContainer mShapes; | |
[2747] | 60 | }; |
61 | ||
[2755] | 62 | } |
[2747] | 63 | #endif |
Note: See TracBrowser
for help on using the repository browser.