ElementSystem.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Camera.hpp"
5 #include <string>
6 #include <unordered_set>
7 
8 namespace iv
9 {
10 
14 class ElementSystem : public System
15 {
16 public:
18  virtual std::string debug_name() const override { return "ElementSystem"; }
19  virtual void status( TextDebugView * view ) override;
20  virtual bool flushSystem() override;
21 
22  // Camera
23  void camera_created( Camera * );
24  void camera_destroyed( Camera * );
25 
26  // Elem
27  void elem_register( Elem * );
28  void elem_unregister( Elem * );
29 
30 private:
31  void print_elem_children( TreeDebugView * view, Elem * elem, std::unordered_set< Elem * > & printed );
32 
33 private:
34  std::unordered_set< Camera * > cameras;
35  std::unordered_set< Elem * > elems;
36  unsigned last_check_frame_id;
37 };
38 
39 }