Virtual Testbed
Ship dynamics simulator for extreme conditions
src
vtestbed
gui
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;
19
using
base_type
=
GeneratorPanel<T>
;
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
vtb::gui::ARGeneratorPanel
Definition:
ARGeneratorPanel.hh:15
vtb
Main namespace.
Definition:
convert.hh:9
vtb::core::Testbed< T, 3 >
vtb::gui::PlainWavePanel< D >
vtb::gui::GeneratorPanel
Definition:
GeneratorPanel.hh:13
Generated by
1.8.15