]> git.mxchange.org Git - simgear.git/blob - simgear/scene/model/loader.hxx
Cygwin build fixes
[simgear.git] / simgear / scene / model / loader.hxx
1 #ifndef __MODEL_LOADER_HXX
2 #define __MODEL_LOADER_HXX 1
3
4 #ifndef __cplusplus
5 # error This library requires C++
6 #endif
7
8 #include <simgear/compiler.h>   // for SG_USING_STD
9
10 #include <map>
11 #include STL_STRING
12
13 #include <plib/ssg.h>
14
15 #include <simgear/props/props.hxx>
16
17 SG_USING_STD(map);
18 SG_USING_STD(string);
19
20
21 /**
22  * Base class for loading and managing SSG things.
23  */
24 class FGSSGLoader
25 {
26 public:
27     FGSSGLoader ();
28     virtual ~FGSSGLoader ();
29     virtual void flush ();
30 protected:
31     std::map<string,ssgBase *> _table;
32 };
33
34
35 /**
36  * Class for loading and managing models with XML wrappers.
37  */
38 class FGModelLoader : public FGSSGLoader
39 {
40 public:
41     FGModelLoader ();
42     virtual ~FGModelLoader ();
43
44     virtual ssgEntity *load_model( const string &fg_root,
45                                    const string &path,
46                                    SGPropertyNode *prop_root,
47                                    double sim_time_sec );
48 };
49
50
51 #endif