Blender  V2.93
NodeGroup.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
17 #pragma once
18 
26 #include <vector>
27 
28 #include "Node.h"
29 
30 #include "../system/FreestyleConfig.h"
31 
32 using namespace std;
33 
34 namespace Freestyle {
35 
36 class NodeGroup : public Node {
37  public:
38  inline NodeGroup() : Node()
39  {
40  }
41  virtual ~NodeGroup()
42  {
43  }
44 
46  virtual void AddChild(Node *iChild);
47 
51  virtual int destroy();
52 
54  virtual void DetachChildren();
55 
57  virtual void DetachChild(Node *iChild);
58 
60  virtual void RetrieveChildren(vector<Node *> &oNodes);
61 
63  // virtual void Render(Renderer *iRenderer);
64 
66  virtual void accept(SceneVisitor &v);
67 
69  virtual const BBox<Vec3r> &UpdateBBox();
70 
72  virtual int numberOfChildren()
73  {
74  return _Children.size();
75  }
76 
77  protected:
78  vector<Node *> _Children;
79 };
80 
81 } /* 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:72
virtual ~NodeGroup()
Definition: NodeGroup.h:41
vector< Node * > _Children
Definition: NodeGroup.h:78
inherits from class Rep
Definition: AppCanvas.cpp:32