Pioneer
Loading...
Searching...
No Matches
NodeVisitor.h
Go to the documentation of this file.
1// Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _NODEVISITOR_H
5#define _NODEVISITOR_H
6/*
7 * Node visitor using the "double dispatch" model
8 * where the nodes call the appropriate Apply* method
9 *
10 * Start traversal with node->Accept(visitor)!
11 */
12#include "libs.h"
13
14namespace SceneGraph {
15
16 class Billboard;
17 class CollisionGeometry;
18 class Group;
19 class Label3D;
20 class LOD;
21 class MatrixTransform;
22 class Node;
23 class StaticGeometry;
24 class Thruster;
25
27 public:
28 virtual ~NodeVisitor() {}
29 virtual void ApplyNode(Node &);
30 virtual void ApplyGroup(Group &);
31 virtual void ApplyStaticGeometry(StaticGeometry &);
32 virtual void ApplyLabel(Label3D &);
34 virtual void ApplyBillboard(Billboard &);
35 virtual void ApplyThruster(Thruster &);
36 virtual void ApplyLOD(LOD &);
38 };
39
40} // namespace SceneGraph
41#endif
Thruster
Definition Propulsion.h:15
Definition Billboard.h:18
Definition CollisionGeometry.h:22
Definition Group.h:12
Definition LOD.h:13
Definition Label3D.h:21
Definition MatrixTransform.h:24
Definition NodeVisitor.h:26
virtual void ApplyStaticGeometry(StaticGeometry &)
Definition NodeVisitor.cpp:27
virtual void ApplyGroup(Group &)
Definition NodeVisitor.cpp:22
virtual void ApplyCollisionGeometry(CollisionGeometry &)
Definition NodeVisitor.cpp:57
virtual ~NodeVisitor()
Definition NodeVisitor.h:28
virtual void ApplyBillboard(Billboard &)
Definition NodeVisitor.cpp:42
virtual void ApplyNode(Node &)
Definition NodeVisitor.cpp:17
virtual void ApplyLOD(LOD &)
Definition NodeVisitor.cpp:52
virtual void ApplyThruster(Thruster &)
Definition NodeVisitor.cpp:47
virtual void ApplyLabel(Label3D &)
Definition NodeVisitor.cpp:32
virtual void ApplyMatrixTransform(MatrixTransform &)
Definition NodeVisitor.cpp:37
Definition Node.h:72
Definition StaticGeometry.h:19
Definition Thruster.h:21
Definition CityOnPlanet.h:31