Blender  V3.3
NodeGroup.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #pragma once
4 
12 #include <vector>
13 
14 #include "Node.h"
15 
16 #include "../system/FreestyleConfig.h"
17 
18 using namespace std;
19 
20 namespace Freestyle {
21 
22 class NodeGroup : public Node {
23  public:
24  inline NodeGroup() : Node()
25  {
26  }
27  virtual ~NodeGroup()
28  {
29  }
30 
32  virtual void AddChild(Node *iChild);
33 
37  virtual int destroy();
38 
40  virtual void DetachChildren();
41 
43  virtual void DetachChild(Node *iChild);
44 
46  virtual void RetrieveChildren(vector<Node *> &oNodes);
47 
49  // virtual void Render(Renderer *iRenderer);
50 
52  virtual void accept(SceneVisitor &v);
53 
55  virtual const BBox<Vec3r> &UpdateBBox();
56 
58  virtual int numberOfChildren()
59  {
60  return _Children.size();
61  }
62 
63  protected:
64  vector<Node *> _Children;
65 };
66 
67 } /* namespace Freestyle */
Abstract class for scene graph nodes. Inherits from BaseObject which defines the addRef release mecha...
ATTR_WARN_UNUSED_RESULT const BMVert * v
virtual int numberOfChildren()
Definition: NodeGroup.h:58
virtual ~NodeGroup()
Definition: NodeGroup.h:27
vector< Node * > _Children
Definition: NodeGroup.h:64
inherits from class Rep
Definition: AppCanvas.cpp:18