Virtual Testbed
Ship dynamics simulator for extreme conditions
GerstnerGeneratorPanel.hh
1 #ifndef VTESTBED_GUI_GERSTNERGENERATORPANEL_HH
2 #define VTESTBED_GUI_GERSTNERGENERATORPANEL_HH
3 
4 #include <vtestbed/gui/GeneratorPanel.hh>
5 #include <vtestbed/gui/PlainWavePanel.hh>
6 #include <vtestbed/gui/types.hh>
7 #include <vtestbed/core/gerstner.hh>
8 
9 namespace vtb {
10 
11  namespace gui {
12 
13  template <class T>
15 
16  private:
18  using typename base_type::testbed_type;
19 
20  public:
24  using policy_type = vtb::core::Policy;
26 
27  private:
28  std::vector<PlainWavePanel<T>> _wave_panels;
29  bool _diffraction = false;
30  bool _radiation = false;
31  bool _waterline_only = true;
32 
33  public:
34 
35  void init(const testbed_type& testbed) override;
36  void draw() override;
37  std::any generator(policy_type policy) override;
38  void apply();
39 
40  };
41 
42  }
43 }
44 
45 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9