23 #ifndef _ASV_WAVE_SIM_GAZEBO_PLUGINS_WAVEFIELD_HH_ 24 #define _ASV_WAVE_SIM_GAZEBO_PLUGINS_WAVEFIELD_HH_ 26 #include <ignition/math/Vector2.hh> 27 #include <ignition/math/Vector3.hh> 54 class WaveParametersPrivate;
69 public:
void SetFromSDF(sdf::Element& _sdf);
72 public:
size_t Number()
const;
76 public:
double Angle()
const;
80 public:
double Scale()
const;
84 public:
double Steepness()
const;
87 public:
double AngularFrequency()
const;
90 public:
double Amplitude()
const;
93 public:
double Period()
const;
96 public:
double Phase()
const;
99 public:
double Wavelength()
const;
102 public:
double Wavenumber()
const;
105 public:
float Tau()
const;
108 public:
float Gain()
const;
112 public: ignition::math::Vector2d Direction()
const;
117 public:
void SetNumber(
size_t _number);
123 public:
void SetAngle(
double _angle);
129 public:
void SetScale(
double _scale);
135 public:
void SetSteepness(
double _steepness);
140 public:
void SetAmplitude(
double _amplitude);
145 public:
void SetPeriod(
double _period);
150 public:
void SetPhase(
double _phase);
155 public:
void SetTau(
double _tau);
160 public:
void SetGain(
double _gain);
165 public:
void SetDirection(
const ignition::math::Vector2d& _direction);
168 public:
const std::vector<double>& AngularFrequency_V()
const;
171 public:
const std::vector<double>& Amplitude_V()
const;
174 public:
const std::vector<double>& Phase_V()
const;
177 public:
const std::vector<double>& Steepness_V()
const;
180 public:
const std::vector<double>& Wavenumber_V()
const;
183 public:
const std::vector<ignition::math::Vector2d>& Direction_V()
const;
186 public:
void DebugPrint()
const;
190 private: std::shared_ptr<WaveParametersPrivate>
data;
217 public:
static double ComputeDepthDirectly(
219 const ignition::math::Vector3d& _point,
220 double time,
double time_init = 0);
226 public:
static double ComputeDepthSimply(
228 const ignition::math::Vector3d& _point,
229 double time,
double time_init = 0);
A class to manage sampling depths from a wave field.
std::shared_ptr< WaveParametersPrivate > data
A class to manage the parameters for generating a wave.