00001 #ifndef __MI_SCENE_H 00002 #define __MI_SCENE_H 00003 00004 #include <boost/smart_ptr.hpp> 00005 #include <map> 00006 #include <mimas/mm_object.h> 00007 #include <vector> 00008 #include "mi_object_instance.hh" 00009 00021 class mi_scene: public mimas::mm_object 00022 { 00023 public: 00026 mi_scene(void) {} 00033 std::vector< mi_object_instance_ptr > &get_objects(void) { return objects; } 00035 const std::vector< mi_object_instance_ptr > &get_objects(void) const 00036 { return objects; } 00047 void add_job( const std::string &name, int maxNum ); 00049 std::map< std::string, int > &get_jobs(void) { return jobs; } 00050 protected: 00054 std::vector< mi_object_instance_ptr > objects; 00058 std::map< std::string, int > jobs; 00059 }; 00060 00062 typedef boost::shared_ptr< mi_scene > mi_scene_ptr; 00063 00065 00066 #endif