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