Pioneer
DumpVisitor.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 #include "NodeVisitor.h"
5 /*
6  * Print the graph structure to console
7  * Collect statistics
8  */
9 namespace SceneGraph {
10 
11  class Model;
12 
13  class DumpVisitor : public NodeVisitor {
14  public:
15  struct LodStatistics {
16  unsigned int nodeCount;
17  unsigned int opaqueGeomCount;
18  unsigned int transGeomCount;
19 
20  unsigned int triangles;
21  };
22 
23  struct ModelStatistics {
24  unsigned int materialCount;
25  unsigned int collTriCount;
26  };
27 
28  DumpVisitor(const Model *m);
29 
30  std::string GetModelStatistics();
31 
32  virtual void ApplyNode(Node &);
33  virtual void ApplyGroup(Group &);
34  virtual void ApplyLOD(LOD &);
35  virtual void ApplyStaticGeometry(StaticGeometry &);
36 
37  private:
38  void PutIndent() const;
39  void PutNodeName(const Node &) const;
40 
41  unsigned int m_level;
42  ModelStatistics m_modelStats;
43  LodStatistics m_stats;
44  std::vector<LodStatistics> m_lodStats;
45  };
46 
47 } // namespace SceneGraph
Definition: DumpVisitor.h:13
virtual void ApplyGroup(Group &)
Definition: DumpVisitor.cpp:57
virtual void ApplyStaticGeometry(StaticGeometry &)
Definition: DumpVisitor.cpp:81
virtual void ApplyLOD(LOD &)
Definition: DumpVisitor.cpp:68
virtual void ApplyNode(Node &)
Definition: DumpVisitor.cpp:50
DumpVisitor(const Model *m)
Definition: DumpVisitor.cpp:15
std::string GetModelStatistics()
Definition: DumpVisitor.cpp:24
Definition: Group.h:12
Definition: LOD.h:13
Definition: Model.h:88
Definition: NodeVisitor.h:26
Definition: Node.h:72
Definition: StaticGeometry.h:19
Definition: CityOnPlanet.h:31
Definition: DumpVisitor.h:15
unsigned int nodeCount
Definition: DumpVisitor.h:16
unsigned int transGeomCount
Definition: DumpVisitor.h:18
unsigned int opaqueGeomCount
Definition: DumpVisitor.h:17
unsigned int triangles
Definition: DumpVisitor.h:20
Definition: DumpVisitor.h:23
unsigned int collTriCount
Definition: DumpVisitor.h:25
unsigned int materialCount
Definition: DumpVisitor.h:24