Virtual Testbed
Ship dynamics simulator for extreme conditions
ControlWindow.hh
1 #ifndef VTESTBED_GUI_CONTROLWINDOW_HH
2 #define VTESTBED_GUI_CONTROLWINDOW_HH
3 
4 #include <vtestbed/core/propulsor.hh>
5 #include <vtestbed/core/types.hh>
6 #include <vtestbed/gui/InputNumber.hh>
7 #include <vtestbed/gui/MagnumImgui/MagnumImGui.h>
8 #include <vtestbed/gui/SliderAngle.hh>
9 #include <vtestbed/gui/Window.hh>
10 #include <vtestbed/gui/imgui.hh>
11 #include <vtestbed/gui/types.hh>
12 
13 namespace vtb {
14 
15  namespace gui {
16 
17  template <class T>
18  class ControlWindow: public Window {
19 
20  public:
23 
24  private:
25  propulsor_type _propulsor;
26  InputNumber<T> _revolutions;
27  InputNumber<T> _diameter;
28  InputNumber<T> _thrust;
29  InputNumber<T> _torque;
30  SliderAngle<T> _angle;
31 
32  public:
33 
34  explicit ControlWindow();
35  void draw();
36  void init(const testbed_type& testbed);
37 
38  inline const propulsor_type& propulsor() const { return this->_propulsor; }
39 
40  };
41 
42  }
43 
44 }
45 
46 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9