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

#ifndef SCENE_GEOMETRY_NODE_INL_H__
#define SCENE_GEOMETRY_NODE_INL_H__

#include "../../global.h"
#include "geometry_node.h"

BEGIN_TEG_NAMESPACE();

inline bool GeometryNode::draw() const {
  return draw_;
}

inline bool GeometryNode::cast_shadows() const {
  return cast_shadows_;
}

inline const SmartPointer<IModel>& GeometryNode::model() const {
  return model_;
}

inline bool GeometryNode::use_default_material() const {
  return use_default_material_;
}

inline const SmartPointer<Material>& GeometryNode::custom_material() const {
  return custom_material_;
}

inline const Mat4f& GeometryNode::model_view() const {
  return model_view_;
}

inline void GeometryNode::set_draw(bool draw) {
  draw_= draw; 
}

inline void GeometryNode::set_cast_shadows(bool cast_shadows) {
  cast_shadows_= cast_shadows;
}

inline void GeometryNode::set_use_default_material(bool use_default_material) {
  use_default_material_ = use_default_material;
}

inline void GeometryNode::set_custom_material(
    const SmartPointer<Material>& custom_material) {
  custom_material_ = custom_material;
}

inline float GeometryNode::dist() const {
  return dist_;
}

END_TEG_NAMESPACE();

#endif  // SCENE_GEOMETRY_NODE_INL_H__