00001 #ifndef _GROUP_NODE_H_ 00002 #define _GROUP_NODE_H_ 00003 00004 #include <vector> 00005 #include "cglib/scene_graph_node.h" 00006 #include "cglib/reference.h" 00007 00009 class GroupNode : public SceneGraphNode 00010 { 00011 public: 00013 GroupNode (); 00014 00016 virtual ~GroupNode (); 00017 00019 int get_children_count() const; 00020 00022 SceneGraphNode *get_child(int index); 00023 00025 void append_child(SceneGraphNode *child); 00026 00028 virtual void accept(Visitor *visitor); 00029 00030 private: 00031 std::vector< Reference<SceneGraphNode> > children; 00032 }; 00033 00034 #endif /* _GROUP_NODE_H_ */