nuclear@5: #include nuclear@1: #include "scene.h" nuclear@1: nuclear@1: Scene::Scene() nuclear@1: { nuclear@1: name = 0; nuclear@6: active_cam = 0; nuclear@1: } nuclear@1: nuclear@1: Scene::~Scene() nuclear@1: { nuclear@1: clear(); nuclear@1: } nuclear@1: nuclear@1: void Scene::clear() nuclear@1: { nuclear@1: delete [] name; nuclear@1: nuclear@1: size_t i; nuclear@1: for(i=0; iname; nuclear@1: this->name = new char[strlen(name) + 1]; nuclear@1: strcpy(this->name, name); nuclear@1: } nuclear@1: nuclear@1: const char *Scene::get_name() const nuclear@1: { nuclear@1: return name ? name : ""; nuclear@1: } nuclear@1: nuclear@6: void Scene::add_object(Object *obj) nuclear@6: { nuclear@6: objects.push_back(obj); nuclear@6: } nuclear@6: nuclear@6: void Scene::add_light(Light *lt) nuclear@6: { nuclear@6: lights.push_back(lt); nuclear@6: } nuclear@6: nuclear@6: void Scene::add_camera(Camera *cam) nuclear@6: { nuclear@6: cameras.push_back(cam); nuclear@6: } nuclear@6: nuclear@6: nuclear@6: int Scene::get_object_count() const nuclear@6: { nuclear@6: return (int)objects.size(); nuclear@6: } nuclear@6: nuclear@6: int Scene::get_light_count() const nuclear@6: { nuclear@6: return (int)lights.size(); nuclear@6: } nuclear@6: nuclear@6: int Scene::get_camera_count() const nuclear@6: { nuclear@6: return (int)cameras.size(); nuclear@6: } nuclear@6: nuclear@6: nuclear@6: Object *Scene::get_object(int idx) nuclear@6: { nuclear@6: return objects[idx]; nuclear@6: } nuclear@6: nuclear@6: const Object *Scene::get_object(int idx) const nuclear@6: { nuclear@6: return objects[idx]; nuclear@6: } nuclear@6: nuclear@6: Light *Scene::get_light(int idx) nuclear@6: { nuclear@6: return lights[idx]; nuclear@6: } nuclear@6: nuclear@6: const Light *Scene::get_light(int idx) const nuclear@6: { nuclear@6: return lights[idx]; nuclear@6: } nuclear@6: nuclear@6: Camera *Scene::get_camera(int idx) nuclear@6: { nuclear@6: return cameras[idx]; nuclear@6: } nuclear@6: nuclear@6: const Camera *Scene::get_camera(int idx) const nuclear@6: { nuclear@6: return cameras[idx]; nuclear@6: } nuclear@6: nuclear@1: void Scene::draw() const nuclear@1: { nuclear@6: if(active_cam) { nuclear@6: // TODO nuclear@6: } nuclear@6: nuclear@6: int nobj = get_object_count(); nuclear@6: for(int i=0; idraw(); nuclear@6: } nuclear@1: }