Public Member Functions | Private Attributes | List of all members
asv::WaveParameters Class Reference

A class to manage the parameters for generating a wave. More...

#include <Wavefield.hh>

Public Member Functions

double Amplitude () const
 The amplitude of the mean wave in [m]. More...
 
const std::vector< double > & Amplitude_V () const
 Access the component amplitudes. More...
 
double Angle () const
 The angle between the mean wave direction and the largest / smallest component waves. More...
 
double AngularFrequency () const
 The angular frequency. More...
 
const std::vector< double > & AngularFrequency_V () const
 Access the component angular frequencies. More...
 
void DebugPrint () const
 Print a summary of the wave parameters to the gzmsg stream. More...
 
ignition::math::Vector2d Direction () const
 A two component vector specifiying the direction. More...
 
const std::vector< ignition::math::Vector2d > & Direction_V () const
 Access the component directions. More...
 
float Gain () const
 Amplitude multiplier for PMS. More...
 
size_t Number () const
 The number of wave components (3 max if visualisation required). More...
 
double Period () const
 The period of the mean wave in [s]. More...
 
double Phase () const
 The phase of the mean wave. More...
 
const std::vector< double > & Phase_V () const
 Access the component phases. More...
 
double Scale () const
 The scale between the mean and largest / smallest component waves. More...
 
void SetAmplitude (double _amplitude)
 Set the mean wave amplitude. Must be positive. More...
 
void SetAngle (double _angle)
 Set the angle parameter controlling the direction of the component waves. More...
 
void SetDirection (const ignition::math::Vector2d &_direction)
 Set the mean wave direction. More...
 
void SetFromSDF (sdf::Element &_sdf)
 Set the parameters from an SDF Element tree. More...
 
void SetGain (double _gain)
 Set the PMS amplitude multiplier. More...
 
void SetNumber (size_t _number)
 Set the number of wave components (3 max). More...
 
void SetPeriod (double _period)
 Set the mean wave period. Must be positive. More...
 
void SetPhase (double _phase)
 Set the mean wave phase. More...
 
void SetScale (double _scale)
 Set the scale parameter controlling the range of amplitudes of the component waves. More...
 
void SetSteepness (double _steepness)
 Set the steepness parameter controlling the steepness of the waves. In [0, 1]. More...
 
void SetTau (double _tau)
 Set the time constant. More...
 
double Steepness () const
 A parameter in [0, 1] controlling the wave steepness with 1 being steepest. More...
 
const std::vector< double > & Steepness_V () const
 Access the steepness components. More...
 
float Tau () const
 Time-constant for starting waves. More...
 
double Wavelength () const
 The mean wavelength. More...
 
double Wavenumber () const
 The mean wavenumber. More...
 
const std::vector< double > & Wavenumber_V () const
 Access the component wavenumbers. More...
 
 WaveParameters ()
 Constructor. More...
 
 ~WaveParameters ()
 Destructor. More...
 

Private Attributes

std::shared_ptr< WaveParametersPrivatedata
 

Detailed Description

A class to manage the parameters for generating a wave.

in a wave field.

Definition at line 58 of file Wavefield.hh.

Constructor & Destructor Documentation

asv::WaveParameters::~WaveParameters ( )

Destructor.

Definition at line 289 of file Wavefield.cc.

asv::WaveParameters::WaveParameters ( )

Constructor.

Definition at line 293 of file Wavefield.cc.

Member Function Documentation

double asv::WaveParameters::Amplitude ( ) const

The amplitude of the mean wave in [m].

Definition at line 350 of file Wavefield.cc.

const std::vector< double > & asv::WaveParameters::Amplitude_V ( ) const

Access the component amplitudes.

Definition at line 452 of file Wavefield.cc.

double asv::WaveParameters::Angle ( ) const

The angle between the mean wave direction and the largest / smallest component waves.

Definition at line 330 of file Wavefield.cc.

double asv::WaveParameters::AngularFrequency ( ) const

The angular frequency.

Definition at line 345 of file Wavefield.cc.

const std::vector< double > & asv::WaveParameters::AngularFrequency_V ( ) const

Access the component angular frequencies.

Definition at line 447 of file Wavefield.cc.

void asv::WaveParameters::DebugPrint ( ) const

Print a summary of the wave parameters to the gzmsg stream.

Definition at line 478 of file Wavefield.cc.

ignition::math::Vector2d asv::WaveParameters::Direction ( ) const

A two component vector specifiying the direction.

of the mean wave.

Definition at line 385 of file Wavefield.cc.

const std::vector< ignition::math::Vector2d > & asv::WaveParameters::Direction_V ( ) const

Access the component directions.

Definition at line 473 of file Wavefield.cc.

float asv::WaveParameters::Gain ( ) const

Amplitude multiplier for PMS.

Definition at line 380 of file Wavefield.cc.

size_t asv::WaveParameters::Number ( ) const

The number of wave components (3 max if visualisation required).

Definition at line 325 of file Wavefield.cc.

double asv::WaveParameters::Period ( ) const

The period of the mean wave in [s].

Definition at line 355 of file Wavefield.cc.

double asv::WaveParameters::Phase ( ) const

The phase of the mean wave.

Definition at line 360 of file Wavefield.cc.

const std::vector< double > & asv::WaveParameters::Phase_V ( ) const

Access the component phases.

Definition at line 457 of file Wavefield.cc.

double asv::WaveParameters::Scale ( ) const

The scale between the mean and largest / smallest component waves.

Definition at line 335 of file Wavefield.cc.

void asv::WaveParameters::SetAmplitude ( double  _amplitude)

Set the mean wave amplitude. Must be positive.

Parameters
[in]_amplitudeThe amplitude parameter.

Definition at line 414 of file Wavefield.cc.

void asv::WaveParameters::SetAngle ( double  _angle)

Set the angle parameter controlling the direction of the component waves.

Parameters
[in]_angleThe angle parameter.

Definition at line 396 of file Wavefield.cc.

void asv::WaveParameters::SetDirection ( const ignition::math::Vector2d &  _direction)

Set the mean wave direction.

Parameters
[in]_directionThe direction parameter, a two component vector.

Definition at line 441 of file Wavefield.cc.

void asv::WaveParameters::SetFromSDF ( sdf::Element &  _sdf)

Set the parameters from an SDF Element tree.

Parameters
[in]_sdfThe SDF Element tree containing the wave parameters.

Definition at line 299 of file Wavefield.cc.

void asv::WaveParameters::SetGain ( double  _gain)

Set the PMS amplitude multiplier.

Parameters
[in]_gainThe multiplier

Definition at line 436 of file Wavefield.cc.

void asv::WaveParameters::SetNumber ( size_t  _number)

Set the number of wave components (3 max).

Parameters
[in]_numberThe number of component waves.

Definition at line 390 of file Wavefield.cc.

void asv::WaveParameters::SetPeriod ( double  _period)

Set the mean wave period. Must be positive.

Parameters
[in]_periodThe period parameter.

Definition at line 420 of file Wavefield.cc.

void asv::WaveParameters::SetPhase ( double  _phase)

Set the mean wave phase.

Parameters
[in]_phaseThe phase parameter.

Definition at line 426 of file Wavefield.cc.

void asv::WaveParameters::SetScale ( double  _scale)

Set the scale parameter controlling the range of amplitudes of the component waves.

Parameters
[in]_scaleThe scale parameter.

Definition at line 402 of file Wavefield.cc.

void asv::WaveParameters::SetSteepness ( double  _steepness)

Set the steepness parameter controlling the steepness of the waves. In [0, 1].

Parameters
[in]_steepnessThe steepness parameter.

Definition at line 408 of file Wavefield.cc.

void asv::WaveParameters::SetTau ( double  _tau)

Set the time constant.

Parameters
[in]_tauThe time constant.

Definition at line 432 of file Wavefield.cc.

double asv::WaveParameters::Steepness ( ) const

A parameter in [0, 1] controlling the wave steepness with 1 being steepest.

Definition at line 340 of file Wavefield.cc.

const std::vector< double > & asv::WaveParameters::Steepness_V ( ) const

Access the steepness components.

Definition at line 462 of file Wavefield.cc.

float asv::WaveParameters::Tau ( ) const

Time-constant for starting waves.

Definition at line 375 of file Wavefield.cc.

double asv::WaveParameters::Wavelength ( ) const

The mean wavelength.

Definition at line 365 of file Wavefield.cc.

double asv::WaveParameters::Wavenumber ( ) const

The mean wavenumber.

Definition at line 370 of file Wavefield.cc.

const std::vector< double > & asv::WaveParameters::Wavenumber_V ( ) const

Access the component wavenumbers.

Definition at line 467 of file Wavefield.cc.

Member Data Documentation

std::shared_ptr<WaveParametersPrivate> asv::WaveParameters::data
private

Definition at line 190 of file Wavefield.hh.


The documentation for this class was generated from the following files:


wave_gazebo_plugins
Author(s): Rhys Mainwaring
autogenerated on Thu May 7 2020 03:54:44