gramods
Group.hh
1 
2 #ifndef GRAMODS_GRAPHICS_GROUP
3 #define GRAMODS_GRAPHICS_GROUP
4 
5 #include <gmGraphics/Node.hh>
6 
7 BEGIN_NAMESPACE_GMGRAPHICS;
8 
12 class Group : public Node {
13 
14 public:
15  Group();
16  virtual ~Group();
17 
23  void addNode(std::shared_ptr<Node> node);
24 
28  void removeNode(std::shared_ptr<Node> node);
29 
33  void removeNode(size_t idx);
34 
38  std::vector<std::shared_ptr<Node>> getNodes();
39 
45  void traverse(Visitor *visitor) override;
46 
47  GM_OFI_DECLARE;
48 
49 private:
50  struct Impl;
51  std::unique_ptr<Impl> _impl;
52 };
53 
54 END_NAMESPACE_GMGRAPHICS;
55 
56 #endif
The scenegraph group base.
Definition: Group.hh:12
The scenegraph node base.
Definition: Node.hh:20
The visitor of a design pattern for automatic traversal.
Definition: Object.hh:75
Definition: Group.cpp:9