scg3  0.6
Group.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright 2014 Volker Ahlers
11  *
12  * Licensed under the Apache License, Version 2.0 (the "License");
13  * you may not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  * http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS,
20  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  */
24 
25 #ifndef GROUP_H_
26 #define GROUP_H_
27 
28 #include "Composite.h"
29 
30 namespace scg {
31 
32 
41 class Group: public Composite {
42 
43 public:
44 
48  Group();
49 
53  virtual ~Group();
54 
58  static GroupSP create();
59 
70  Group* addCore(CoreSP core);
71 
75  virtual void accept(Traverser* traverser);
76 
80  virtual void acceptPost(Traverser* traverser);
81 
85  virtual void render(RenderState* renderState);
86 
91  virtual void renderPost(RenderState* renderState);
92 
93 };
94 
95 
96 } /* namespace scg */
97 
98 #endif /* GROUP_H_ */
static GroupSP create()
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract).
virtual void accept(Traverser *traverser)
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract).
Definition: Composite.h:37
virtual void renderPost(RenderState *renderState)
A group node to be used as root of a sub-tree of nodes (composite node).
Definition: Group.h:41
Base class for all cores (abstract).
Definition: Core.h:36
Group * addCore(CoreSP core)
Base class for all traversers (visitor pattern, abstract).
Definition: Traverser.h:36
The central render state that collects information about the current shader, transformations,...
Definition: RenderState.h:107
Definition: Animation.h:28
virtual void acceptPost(Traverser *traverser)
virtual void render(RenderState *renderState)
virtual ~Group()