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