SG_USING_STD(vector);
// Don't pull in headers, since we don't need them here.
-class ssgSelector;
class SGPropertyNode;
class SGModelPlacement;
Instance ();
virtual ~Instance ();
SGModelPlacement * model;
+ SGPropertyNode_ptr node;
SGPropertyNode_ptr lon_deg_node;
SGPropertyNode_ptr lat_deg_node;
SGPropertyNode_ptr elev_ft_node;
SGPropertyNode_ptr roll_deg_node;
SGPropertyNode_ptr pitch_deg_node;
SGPropertyNode_ptr heading_deg_node;
+ bool shadow;
};
FGModelMgr ();
*/
virtual void remove_instance (Instance * instance);
- virtual void draw ();
private:
+ /**
+ * Listener class that adds models at runtime.
+ */
+ class Listener : public SGPropertyChangeListener
+ {
+ public:
+ Listener(FGModelMgr *mgr) : _mgr(mgr) {}
+ virtual void childAdded (SGPropertyNode * parent, SGPropertyNode * child);
+ virtual void childRemoved (SGPropertyNode * parent, SGPropertyNode * child);
- vector<Instance *> _instances;
+ private:
+ FGModelMgr * _mgr;
+ };
+
+ SGPropertyNode_ptr _models;
+ Listener * _listener;
- ssgSharedPtr<ssgSelector> _selector;
+ vector<Instance *> _instances;
};