Blender V4.3
NodeGroup.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
14#include <vector>
15
16#include "Node.h"
17
19
20using namespace std;
21
22namespace Freestyle {
23
24class NodeGroup : public Node {
25 public:
26 inline NodeGroup() : Node() {}
27 virtual ~NodeGroup() {}
28
30 virtual void AddChild(Node *iChild);
31
35 virtual int destroy();
36
38 virtual void DetachChildren();
39
41 virtual void DetachChild(Node *iChild);
42
44 virtual void RetrieveChildren(vector<Node *> &oNodes);
45
47 // virtual void Render(Renderer *iRenderer);
48
50 virtual void accept(SceneVisitor &v);
51
53 virtual const BBox<Vec3r> &UpdateBBox();
54
56 virtual int numberOfChildren()
57 {
58 return _Children.size();
59 }
60
61 protected:
62 vector<Node *> _Children;
63};
64
65} /* namespace Freestyle */
Configuration definitions.
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:56
virtual void RetrieveChildren(vector< Node * > &oNodes)
Definition NodeGroup.cpp:95
virtual ~NodeGroup()
Definition NodeGroup.h:27
virtual void DetachChildren()
Definition NodeGroup.cpp:69
virtual void AddChild(Node *iChild)
Definition NodeGroup.cpp:16
virtual const BBox< Vec3r > & UpdateBBox()
vector< Node * > _Children
Definition NodeGroup.h:62
virtual int destroy()
Definition NodeGroup.cpp:26
virtual void DetachChild(Node *iChild)
Definition NodeGroup.cpp:80
virtual void accept(SceneVisitor &v)
Definition NodeGroup.cpp:56
inherits from class Rep
Definition AppCanvas.cpp:20