Virtual Testbed
Ship dynamics simulator for extreme conditions
src
vtestbed
gui
IrregularWaveGeneratorPanel.hh
1
#ifndef VTESTBED_GUI_IRREGULARWAVEGENERATORPANEL_HH
2
#define VTESTBED_GUI_IRREGULARWAVEGENERATORPANEL_HH
3
4
#include <vector>
5
6
#include <vtestbed/core/plain_wave_generator.hh>
7
#include <vtestbed/gui/GeneratorPanel.hh>
8
#include <vtestbed/gui/PlainWavePanel.hh>
9
10
namespace
vtb
{
11
12
namespace
gui {
13
14
template
<
class
T>
15
class
IrregularWaveGeneratorPanel
:
public
GeneratorPanel
<T> {
16
17
private
:
18
using
base_type
=
GeneratorPanel<T>
;
19
using
typename
base_type::testbed_type
;
20
21
public
:
22
using
amplitude_type
=
vtb::core::Amplitude<T>
;
23
using
length_type
=
vtb::core::Length<T>
;
24
using
direction_type
=
vtb::core::Direction<T>
;
25
using
policy_type = vtb::core::Policy;
26
27
private
:
28
std::vector<PlainWavePanel<T>
> _wave_panels;
29
30
public
:
31
32
void
draw()
override
;
33
std::any generator(policy_type policy)
override
;
34
void
init(
const
testbed_type
& testbed)
override
;
35
36
};
37
38
}
39
}
40
41
#endif // vim:filetype=cpp
vtb::gui::IrregularWaveGeneratorPanel
Definition:
IrregularWaveGeneratorPanel.hh:15
vtb::core::Direction
Definition:
core/types.hh:55
vtb
Main namespace.
Definition:
convert.hh:9
std::vector
vtb::core::Testbed< T, 3 >
vtb::core::Amplitude
Definition:
core/types.hh:52
vtb::gui::GeneratorPanel
Definition:
GeneratorPanel.hh:13
vtb::core::Length
Definition:
core/types.hh:58
Generated by
1.8.15