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

#ifndef SCENE_GROUP_NODE_INL_H__
#define SCENE_GROUP_NODE_INL_H__

#include "../../global.h"
#include "group_node.h"

BEGIN_TEG_NAMESPACE();

inline const std::vector< SmartPointer<ISceneNode> >& GroupNode::nodes() const {
  return nodes_;
}

inline void GroupNode::ClearSceneNodes() {
  nodes_.clear();
}

inline void GroupNode::EraseSceneNode(int index) {
  nodes_.erase(nodes_.begin() + index);
}

inline void GroupNode::AddSceneNode(const SmartPointer<ISceneNode>& scene_node) {
  nodes_.push_back(scene_node);
}

inline const SmartPointer<ISceneNode>& GroupNode::GetSceneNode(int index) const {
  return nodes_[index];
}

END_TEG_NAMESPACE();

#endif  // SCENE_GROUP_NODE_INL_H__
