34#ifndef ALTIMETRY_DEFINITIONS_H
35#define ALTIMETRY_DEFINITIONS_H
52 using AltIt = AltimetryMap::iterator;
53 using AltCIt = AltimetryMap::const_iterator;
54 using AltRIt = AltimetryMap::reverse_iterator;
55 using AltCRIt = AltimetryMap::const_reverse_iterator;
106 virtual std::unique_ptr<Altimetry>
create()
const {
107 auto ptr = std::make_unique<Altimetry>();
108 ptr->updateMinMaxAltimetryValues();
117 auto ptr = std::make_unique<Altimetry>(map);
118 ptr->updateMinMaxAltimetryValues();
124 virtual std::unique_ptr<Altimetry>
clone()
const {
125 return std::make_unique<Altimetry>(*
this); }
178 virtual std::unique_ptr<Altimetry>
crop(
double range_start,
double range_end )
const;
185 virtual std::unique_ptr<Altimetry>
randomize(
double ratio_incr_value )
const;
335 virtual std::unique_ptr<Altimetry>
timeEvolve(
const Time& time_value );
616 virtual std::unique_ptr<Altimetry>
create()
const override {
617 auto ptr = std::make_unique<AltimBretschneider>();
618 ptr->updateMinMaxAltimetryValues();
626 auto ptr = std::make_unique<AltimBretschneider>( map );
627 ptr->updateMinMaxAltimetryValues();
645 virtual std::unique_ptr<Altimetry>
clone()
const override {
646 return std::make_unique<AltimBretschneider>( *
this ); }
675 virtual bool isValid()
const override;
683 virtual std::unique_ptr<Altimetry>
timeEvolve(
const Time& time_value )
override;
691 virtual std::unique_ptr<Altimetry>
randomize(
double ratio_incr_value )
const override;
806 it->second += altimetry;
815 <<
"; altimetry = " << instance.
begin()->second
816 <<
"; max range = " << instance.
altimetry_map.rbegin()->first
817 <<
"; altimetry = " << instance.
altimetry_map.rbegin()->second;
827 if ( &left == &right )
834 if ( &left == &right )
AltimBretschneider supports Bretschneider wave model.
Definition altimetry-definitions.h:574
virtual ~AltimBretschneider() override=default
virtual bool initialize() override
Definition altimetry-definitions.cpp:399
double average_period
Definition altimetry-definitions.h:737
virtual std::unique_ptr< Altimetry > randomize(double ratio_incr_value) const override
Definition altimetry-definitions.cpp:453
AltimBretschneider & operator=(const AltimBretschneider ©)=default
AltimBretschneider & setAveragePeriod(double p)
Definition altimetry-definitions.h:705
virtual std::unique_ptr< Altimetry > create() const override
Definition altimetry-definitions.h:616
double char_height
Definition altimetry-definitions.h:730
AltimBretschneider & setCharacteristicHeight(double h)
Definition altimetry-definitions.h:698
double getAveragePeriod() const
Definition altimetry-definitions.h:717
virtual std::unique_ptr< Altimetry > create(double ch_height, double avg_per, int total_range_steps, double depth) const
Definition altimetry-definitions.h:637
virtual std::unique_ptr< Altimetry > clone() const override
Definition altimetry-definitions.h:645
AltimBretschneider & operator=(AltimBretschneider &&tmp)=default
virtual bool isValid() const override
Definition altimetry-definitions.cpp:409
virtual AltimBretschneider & createWaveSpectrum()
Definition altimetry-definitions.cpp:465
AltimBretschneider()
Definition altimetry-definitions.cpp:354
virtual std::unique_ptr< Altimetry > timeEvolve(const Time &time_value) override
Definition altimetry-definitions.cpp:420
double getCharacteristicHeight() const
Definition altimetry-definitions.h:711
virtual std::unique_ptr< Altimetry > create(AltimetryMap &map) const override
Definition altimetry-definitions.h:625
Altimetry profile class.
Definition altimetry-definitions.h:64
virtual bool initialize()
Definition altimetry-definitions.cpp:215
double getMaxAltimetryValue() const
Definition altimetry-definitions.h:278
Altimetry(const Altimetry ©)=default
long double getRangePrecision() const
Definition altimetry-definitions.h:290
AltimetryMap altimetry_map
Definition altimetry-definitions.h:564
Altimetry(Altimetry &&tmp)=default
double getDepth() const
Definition altimetry-definitions.h:314
Altimetry & setTotalRangeSteps(int r_s)
Definition altimetry-definitions.h:247
double getEvolutionTimeQuantum() const
Definition altimetry-definitions.h:296
double evolution_time_quantum
Definition altimetry-definitions.h:554
Altimetry & eraseValue(double range)
Definition altimetry-definitions.h:168
AltCIt end() const
Definition altimetry-definitions.h:197
friend const Altimetry operator/(const double left, const Altimetry &right)
static AltimetryMap & createFlat(double altimetry=0)
Definition altimetry-definitions.h:788
double getMinAltimetryValue() const
Definition altimetry-definitions.h:284
virtual std::unique_ptr< Altimetry > randomize(double ratio_incr_value) const
Definition altimetry-definitions.cpp:163
double depth
Definition altimetry-definitions.h:559
friend const Altimetry operator+(const Altimetry &left, const Altimetry &right)
void clear()
Definition altimetry-definitions.h:222
virtual ~Altimetry()=default
bool empty() const
Definition altimetry-definitions.h:216
friend const Altimetry operator-(const double left, const Altimetry &right)
Altimetry & insertValue(double range, double altimetry)
Definition altimetry-definitions.cpp:113
AltCIt at(const int i) const
Definition altimetry-definitions.cpp:127
friend Altimetry & operator+=(Altimetry &left, const Altimetry &right)
double range
Definition altimetry-definitions.h:524
virtual std::unique_ptr< Altimetry > create() const
Definition altimetry-definitions.h:106
double getMinRangeValue() const
Definition altimetry-definitions.h:272
AltCIt findValue(double range) const
Definition altimetry-definitions.h:160
static bool getDebug(bool flag)
Definition altimetry-definitions.h:235
friend std::ostream & operator<<(std::ostream &os, const Altimetry &instance)
Definition altimetry-definitions.h:812
friend const Altimetry operator+(const Altimetry &left, const double right)
double getRange() const
Definition altimetry-definitions.h:302
static AltimetryMap & createNotValid()
Definition altimetry-definitions.h:781
friend const Altimetry operator+(const double left, const Altimetry &right)
virtual Altimetry & updateMinMaxAltimetryValues()
Definition altimetry-definitions.cpp:224
friend const Altimetry operator*(const Altimetry &left, const double right)
int total_range_steps
Definition altimetry-definitions.h:529
friend const Altimetry operator-(const Altimetry &left, const double right)
Altimetry()
Definition altimetry-definitions.cpp:51
friend bool operator==(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:826
static void setDebug(bool flag)
Definition altimetry-definitions.h:229
Altimetry & sumValue(double range, double altimetry)
Definition altimetry-definitions.h:796
friend bool operator!=(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:833
double min_altimetry_value
Definition altimetry-definitions.h:534
Altimetry & setEvolutionTimeQuantum(double quantum)
Definition altimetry-definitions.h:241
virtual std::unique_ptr< Altimetry > clone() const
Definition altimetry-definitions.h:124
int getTotalRangeSteps() const
Definition altimetry-definitions.h:308
Altimetry & setRange(double r)
Definition altimetry-definitions.h:253
friend Altimetry & operator-=(Altimetry &left, double right)
long double range_precision
Definition altimetry-definitions.h:544
friend const Altimetry operator-(const Altimetry &left, const Altimetry &right)
int size() const
Definition altimetry-definitions.h:210
double getMaxRangeValue() const
Definition altimetry-definitions.h:266
Altimetry & setDepth(double d)
Definition altimetry-definitions.h:259
virtual std::unique_ptr< Altimetry > crop(double range_start, double range_end) const
Definition altimetry-definitions.cpp:141
virtual std::unique_ptr< Altimetry > timeEvolve(const Time &time_value)
Definition altimetry-definitions.cpp:187
Altimetry & operator=(Altimetry &&tmp)=default
friend const Altimetry operator*(const double left, const Altimetry &right)
virtual bool isValid() const
Definition altimetry-definitions.cpp:105
friend Altimetry & operator*=(Altimetry &left, double right)
friend Altimetry & operator+=(Altimetry &left, double right)
AltCIt begin() const
Definition altimetry-definitions.h:191
static bool debug
Definition altimetry-definitions.h:519
virtual std::unique_ptr< Altimetry > create(AltimetryMap &map) const
Definition altimetry-definitions.h:116
friend Altimetry & operator-=(Altimetry &left, const Altimetry &right)
Time last_evolution_time
Definition altimetry-definitions.h:549
friend Altimetry & operator/=(Altimetry &left, double right)
double max_altimetry_value
Definition altimetry-definitions.h:539
friend const Altimetry operator/(const Altimetry &left, const double right)
Altimetry & operator=(const Altimetry ©)=default
a class for time date manipulation
Definition time-definitions.h:83
Provides the interface for the woss::PDouble class.
Definition ac-toolbox-arr-asc-reader.h:44
AltimetryMap::const_reverse_iterator AltCRIt
Definition altimetry-definitions.h:55
bool operator!=(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:833
std::ostream & operator<<(std::ostream &os, const Altimetry &instance)
Definition altimetry-definitions.h:812
Altimetry & operator*=(Altimetry &left, double right)
Definition altimetry-definitions.cpp:346
AltimetryMap::reverse_iterator AltRIt
Definition altimetry-definitions.h:54
std::map< PDouble, double > AltimetryMap
Definition altimetry-definitions.h:51
const Altimetry operator/(const Altimetry &left, const double right)
Definition altimetry-definitions.cpp:264
AltimetryMap::iterator AltIt
Definition altimetry-definitions.h:52
bool operator==(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:826
Altimetry & operator+=(Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:306
const Altimetry operator+(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:236
const Altimetry operator*(const Altimetry &left, const double right)
Definition altimetry-definitions.cpp:271
AltimetryMap::const_iterator AltCIt
Definition altimetry-definitions.h:53
Altimetry & operator-=(Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:314
const Altimetry operator-(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:243
Altimetry & operator/=(Altimetry &left, double right)
Definition altimetry-definitions.cpp:338
Definitions and library for woss::Time, woss::SimTime, woss::TimeReference and woss::TimeReferenceTcl...