Virtual Testbed
Ship dynamics simulator for extreme conditions
GeneratorPanel.hh
1 #ifndef VTESTBED_GUI_GENERATORPANEL_HH
2 #define VTESTBED_GUI_GENERATORPANEL_HH
3 
4 #include <any>
5 
6 #include <vtestbed/core/types.hh>
7 
8 namespace vtb {
9 
10  namespace gui {
11 
12  template <class T>
14 
15  public:
16  using real_type = T;
17  using policy_type = vtb::core::Policy;
19 
20  public:
21 
22  GeneratorPanel() = default;
23  GeneratorPanel(const GeneratorPanel&) = delete;
24  GeneratorPanel& operator=(const GeneratorPanel&) = delete;
25  GeneratorPanel(GeneratorPanel&&) = default;
26  GeneratorPanel& operator=(GeneratorPanel&&) = default;
27  virtual ~GeneratorPanel() = default;
28 
29  virtual std::any generator(policy_type policy) = 0;
30  virtual void draw() = 0;
31  virtual void init(const testbed_type& testbed) = 0;
32 
33  };
34 
35  }
36 
37 }
38 
39 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9