// Author: Juan Carlos De Abreu (jcabreur@gmail.com)

#ifndef SCENE_SCENE_INL_H__
#define SCENE_SCENE_INL_H__

#include "scene.h"

BEGIN_TEG_NAMESPACE();

inline const SmartPointer<Camera>& Scene::camera() const {
  return camera_;
}

inline SmartPointer<ISceneNode>& Scene::root() {
  return root_;
}

inline void Scene::set_camera(const SmartPointer<Camera>& camera) {
  camera_ = camera;
}

inline void Scene::set_root(const SmartPointer<ISceneNode>& root) {
  root_ = root;
}

inline void Scene::AddSceneLight(const SmartPointer<LightNode>& light_node) {
  scene_lights_.push_back(light_node);
}

inline void Scene::AddSceneGeometry(
    const SmartPointer<GeometryNode>& geometry_node) {
  scene_geometries_.push_back(geometry_node);
}

END_TEG_NAMESPACE();

#endif  // SCENE_SCENE_INL_H__
