Virtual Testbed
Ship dynamics simulator for extreme conditions
ARGeneratorPanel.hh
1 #ifndef VTESTBED_GUI_ARGENERATORPANEL_HH
2 #define VTESTBED_GUI_ARGENERATORPANEL_HH
3 
4 #include <vtestbed/core/plain_wave_generator.hh>
5 #include <vtestbed/gui/GeneratorPanel.hh>
6 #include <vtestbed/gui/PlainWavePanel.hh>
7 #include <vtestbed/gui/imgui.hh>
8 #include <vtestbed/gui/types.hh>
9 
10 namespace vtb {
11 
12  namespace gui {
13 
14  template <class T>
15  class ARGeneratorPanel: public GeneratorPanel<T> {
16 
17  private:
18  using D = double;
20  using typename base_type::testbed_type;
21 
22  public:
23  using policy_type = vtb::core::Policy;
24  using int3 = vtb::core::int3;
25  using vec3 = blitz::TinyVector<D,3>;
26 
27  private:
28  PlainWavePanel<D> _wavePanel;
29  int3 _order{7,7,7};
30  vec3 _decay{0,0,0.01};
31 
32  public:
33 
34  void draw() override;
35  std::any generator(policy_type policy) override;
36  void init(const testbed_type& testbed) override;
37 
38  };
39 
40  }
41 }
42 
43 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9