FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
Core::FMTTimeYieldHandler Class Referencefinal

Yield handler for time based yields, indexed by period. More...

#include <FMTTimeYieldHandler.h>

Inheritance diagram for Core::FMTTimeYieldHandler:
[legend]
Collaboration diagram for Core::FMTTimeYieldHandler:
[legend]

Public Member Functions

virtual double get (const std::string &yld, const FMTYieldRequest &request) const
 Get the value of a yield for a request.
 
virtual operator std::string () const
 Return the string representation of the time yield handler.
 
 ~FMTTimeYieldHandler ()=default
 Default destructor for FMTTimeYieldHandler.
 
 FMTTimeYieldHandler ()=default
 Default constructor for FMTTimeYieldHandler.
 
 FMTTimeYieldHandler (const FMTTimeYieldHandler &rhs)=default
 Copy constructor for FMTTimeYieldHandler.
 
FMTTimeYieldHandleroperator= (const FMTTimeYieldHandler &rhs)=default
 Copy assignment operator for FMTTimeYieldHandler.
 
 FMTTimeYieldHandler (const FMTMask &p_mask)
 Construct a time yield handler from a mask.
 
virtual void setYieldValues (const std::string &yldname, const int &startingperiod, const std::vector< double > &values)
 Set the values for a given yield name.
 
virtual double getLastValue (const std::string yld) const
 Return the last value of a yield.
 
virtual bool pushData (const std::string &yld, const double &value)
 Push a value for a yield.
 
virtual bool pushData (const std::string &yld, const FMTData &data)
 Push data for a yield.
 
virtual std::unique_ptr< FMTYieldHandlerclone () const
 Clone the time yield handler.
 
virtual bool operator== (const FMTTimeYieldHandler &rhs) const
 Equality comparison operator of FMTTimeYieldHandler.
 
virtual bool empty () const
 Return true if the handler is empty.
 
virtual size_t size () const
 Return the number of yields in the handler.
 
virtual FMTyldtype getType () const
 Return the type of the yield handler.
 
virtual FMTDataoperator[] (const std::string &yldname)
 Access the data of a yield.
 
virtual const FMTDataat (const std::string &yldname) const
 Access the data of a yield.
 
virtual bool containsYield (const std::string &yldname) const
 Return true if the handler contains a given yield.
 
virtual std::vector< std::string > getYieldNames () const
 Return the yield names of the handler.
 
virtual void clearCache ()
 Clear the cache of the handler.
 
virtual std::map< std::string, std::vector< double > > getAllYieldsData (const int &maxbase) const
 Return all the yield data up to a maximum base age.
 
virtual std::unique_ptr< FMTYieldHandlergetFromFactor (const double &factor, std::vector< std::string >yieldnames=std::vector< std::string >()) const
 Multiply the handler by a factor and return a new handler.
 
- Public Member Functions inherited from Core::FMTYieldHandler
virtual size_t getOverrideIndex () const
 Return the override index of the handler.
 
virtual std::vector< size_t > getTabous () const
 Return the tabou indexes of the handler.
 
virtual void setOverrideIndex (const size_t &newindex)
 Set the override index of the handler.
 
virtual ~FMTYieldHandler ()=default
 Default virtual destructor for FMTYieldHandler.
 
 FMTYieldHandler ()=default
 Default constructor for FMTYieldHandler.
 
 FMTYieldHandler (const FMTYieldHandler &rhs)=default
 Copy constructor for FMTYieldHandler.
 
FMTYieldHandleroperator= (const FMTYieldHandler &rhs)=default
 Copy assignment operator for FMTYieldHandler.
 
 FMTYieldHandler (const FMTMask &lmask)
 Construct a yield handler from a mask.
 
double getLinearValue (const std::vector< double > &dls, const int &agetarget, bool allowoutofrange) const
 Return the linearly interpolated value at a target age.
 
virtual int getLastBase () const
 Return the last base age of the handler.
 
const std::vector< int > & getBases () const
 Return the base ages of the handler.
 
FMTMask getMask () const
 Return the mask of the handler.
 
void setMask (const FMTMask &p_mask)
 Set the mask of the handler.
 
bool pushBase (const int &base)
 Push a base age to the handler.
 
void setBase (const std::vector< int > &allvalues)
 Set the base ages of the handler.
 
bool inLookAt (const std::string &yld) const
 Return true if a yield is in the look at set.
 
virtual double getLastValue (const std::string yld) const
 Return the last value of a yield.
 
virtual double get (const std::string &yld, const FMTYieldRequest &request) const
 Get the value of a yield for a request.
 
virtual bool pushData (const std::string &yld, const double &value)
 Push a value for a yield.
 
virtual bool pushData (const std::string &yld, const FMTData &data)
 Push data for a yield.
 
virtual std::vector< std::string > indexes (const std::vector< std::string > &names) const
 Return the yield names that are indexes among the given names.
 
virtual operator std::string () const
 Return the string representation of the yield handler.
 
virtual std::vector< std::string > compare (const std::vector< std::string > &keys) const
 Return the keys that match the handler.
 
virtual std::unique_ptr< FMTYieldHandlerclone () const
 Clone the yield handler.
 
virtual bool operator== (const FMTYieldHandler &rhs) const
 Equality comparison operator of FMTYieldHandler.
 
virtual bool empty () const
 Return true if the handler is empty.
 
virtual size_t size () const
 Return the number of yields in the handler.
 
virtual FMTyldtype getType () const
 Return the type of the yield handler.
 
virtual FMTDataoperator[] (const std::string &yldname)
 Access the data of a yield.
 
virtual const FMTDataat (const std::string &yldname) const
 Access the data of a yield.
 
virtual bool containsYield (const std::string &yldname) const
 Return true if the handler contains a given yield.
 
virtual bool isNullYield (const std::string &yldname) const
 Return true if a yield is a null yield.
 
virtual std::vector< std::string > getYieldNames () const
 Return the yield names of the handler.
 
virtual void clearCache ()
 Clear the cache of the handler.
 
virtual std::map< std::string, std::vector< double > > getAllYieldsData (const int &maxbase) const
 Return all the yield data up to a maximum base age.
 
virtual std::unique_ptr< FMTYieldHandlerpreSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &newthemes) const
 Return a presolved copy of the handler.
 
virtual std::unique_ptr< FMTYieldHandlerpostSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &basethemes) const
 Return a postsolved copy of the handler.
 
virtual std::unique_ptr< FMTYieldHandlergetFromFactor (const double &factor, std::vector< std::string >yieldnames=std::vector< std::string >()) const
 Multiply the handler by a factor and return a new handler.
 
virtual int getEndPoint (const std::string &yld, const int &lowerstep, const double &bound, const double &value) const
 Return the age at which a yield reaches a bound value.
 
virtual double getPeak (const FMTYieldRequest &request, const std::string &yld, const int &targetage) const
 Return the peak value of a yield for a request.
 
virtual int getAge (const FMTYieldRequest &request, const FMTSpec &spec) const
 Return the age of a development from a request and a specification.
 
virtual double getYieldLinearValue (const std::string &yldname, const FMTYieldRequest &request, bool allowoutofrange=true) const
 Return the linearly interpolated value of a yield for a request.
 
- Public Member Functions inherited from Core::FMTObject
 FMTObject ()
 Default constructor for FMTObject.
 
virtual ~FMTObject ()
 Default virtual destructor for FMTObject.
 
 FMTObject (const std::unique_ptr< Exception::FMTExceptionHandler > exhandler)
 Construct a FMTObject passing in the exception handler of another FMTObject.
 
 FMTObject (const FMTObject &rhs)
 Copy constructor for FMTObject.
 
FMTObjectoperator= (const FMTObject &rhs)
 Copy assignment operator for FMTObject.
 
virtual void passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger)
 Pass in the logger of another FMTObject.
 
void passInExceptionHandler (const std::unique_ptr< Exception::FMTExceptionHandler > &exhandler)
 Pass in the exception handler of another FMTObject.
 
void redirectLogToFile (const std::string &location)
 Redirect the log to a specific file, appending to it.
 
virtual void setDefaultLogger ()
 Create and set a default logger to the FMTObject.
 
virtual void setQuietLogger ()
 Create and set a quiet logger to the FMTObject.
 
virtual void setTaskLogger ()
 Create and set a task logger to the FMTObject.
 
virtual void setDebugLogger ()
 Create and set a debug logger to the FMTObject.
 
void setDefaultExceptionHandler ()
 Create and set a default exception handler to the FMTObject.
 
void setQuietExceptionHandler ()
 Create and set a quiet exception handler to the FMTObject.
 
void setDebugExceptionHandler ()
 Create and set a debug exception handler to the FMTObject.
 
void setFreeExceptionHandler ()
 Create and set a free exception handler to the FMTObject.
 
void disableNestedExceptions ()
 Disable the nested exception throw of the exception handler.
 
void enableNestedExceptions ()
 Enable the nested exception throw of the exception handler.
 
void setErrorsToWarnings (const std::vector< Exception::FMTexc > &errors)
 Set a list of errors to be cast to warnings on the exception handler.
 
void setMaxWarningsBeforeSilenced (const size_t &maxwarningcount)
 Set the number of warnings raised before being silenced.
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::FMTObject
static Logging::FMTLoggergetLogger ()
 get a pointer to the actual logger.
 
static Exception::FMTExceptionHandlergetExceptionHandler ()
 get a pointer to the actual exception handler.
 
static std::string getRuntimeLocation ()
 Return the location of the FMT shared library.
 
static unsigned long long getAvailableMemory ()
 Return the available memory in bytes.
 
static void setTerminateStack ()
 will write the stack in the log when terminate called and raise a function failed.
 
static void setAbortStack ()
 will write the stack in the log when abort called with SIGABRT and raise a function failed.
 
- Protected Member Functions inherited from Core::FMTYieldHandler
double _getChangesFrom (const int &targetage, const int &peakstep) const
 Return the change of value from a target age over a peak step.
 
int _getMaxBase (const FMTYieldRequest &request) const
 Return the maximum base age for a request.
 
- Protected Member Functions inherited from Core::FMTObject
template<class Archive >
void forceSave (Archive &ar, const unsigned int version) const
 Force the serialization to save useful information, which the default FMTObject serialization does not.
 
template<class Archive >
void forceLoad (Archive &ar, const unsigned int version)
 Force the serialization to load useful information, which the default FMTObject serialization does not.
 
void checkSignals () const
 Check if the user has sent a ctrl-c signal using boost::python to FMT.
 
void setCplHandler ()
 Pass the FMT exception handler to the GDAL exception handler (GDAL only).
 
- Static Protected Member Functions inherited from Core::FMTYieldHandler
static bool _basePushData (std::map< std::string, FMTData, cmpYieldString > &elements, const std::string &yld, const double &value)
 Push a value for a yield into the given elements.
 
static bool _basePushData (std::map< std::string, FMTData, cmpYieldString > &elements, const std::string &yld, const FMTData &data)
 Push data for a yield into the given elements.
 
- Static Protected Member Functions inherited from Core::FMTObject
static std::chrono::time_point< std::chrono::high_resolution_clock > getClock ()
 Return a clock of the current time.
 
template<class chrono >
static double getDuration (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock)
 Return the time elapsed since a start clock as a double.
 
static std::string getDurationInSeconds (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock)
 Return the time elapsed since a start clock in seconds as a string.
 
static void _logStack ()
 Log the stack trace...
 
static void _terminate ()
 Raise an error with the boost stacktrace.
 
static void _abort (int p_signal)
 Raise an error with the boost stacktrace on abort.
 
- Protected Attributes inherited from Core::FMTYieldHandler
FMTMask m_mask
 
std::vector< int > m_bases
 
std::unordered_set< std::string > m_lookat
 
- Static Protected Attributes inherited from Core::FMTObject
static std::unique_ptr< Exception::FMTExceptionHandler_exhandler
 A shared pointer to the exception handler.
 
static std::unique_ptr< Logging::FMTLogger_logger
 A shared pointer to the logger.
 

Detailed Description

Yield handler for time based yields, indexed by period.

Constructor & Destructor Documentation

◆ ~FMTTimeYieldHandler()

Core::FMTTimeYieldHandler::~FMTTimeYieldHandler ( )
default

Default destructor for FMTTimeYieldHandler.

◆ FMTTimeYieldHandler() [1/3]

Core::FMTTimeYieldHandler::FMTTimeYieldHandler ( )
default

Default constructor for FMTTimeYieldHandler.

◆ FMTTimeYieldHandler() [2/3]

Core::FMTTimeYieldHandler::FMTTimeYieldHandler ( const FMTTimeYieldHandler rhs)
default

Copy constructor for FMTTimeYieldHandler.

Parameters
[in]rhsthe FMTTimeYieldHandler to copy.

◆ FMTTimeYieldHandler() [3/3]

Core::FMTTimeYieldHandler::FMTTimeYieldHandler ( const FMTMask p_mask)

Construct a time yield handler from a mask.

Parameters
[in]p_maskthe mask.

Member Function Documentation

◆ at()

virtual const FMTData & Core::FMTTimeYieldHandler::at ( const std::string &  yldname) const
virtual

Access the data of a yield.

Parameters
[in]yldnamethe yield name.
Returns
a const reference to the data of the yield.

Reimplemented from Core::FMTYieldHandler.

◆ clearCache()

virtual void Core::FMTTimeYieldHandler::clearCache ( )
virtual

Clear the cache of the handler.

Reimplemented from Core::FMTYieldHandler.

◆ clone()

virtual std::unique_ptr< FMTYieldHandler > Core::FMTTimeYieldHandler::clone ( ) const
virtual

Clone the time yield handler.

Returns
a unique pointer to the cloned yield handler.

Reimplemented from Core::FMTYieldHandler.

◆ containsYield()

virtual bool Core::FMTTimeYieldHandler::containsYield ( const std::string &  yldname) const
virtual

Return true if the handler contains a given yield.

Parameters
[in]yldnamethe yield name.
Returns
true if the handler contains the yield else false.

Reimplemented from Core::FMTYieldHandler.

◆ empty()

virtual bool Core::FMTTimeYieldHandler::empty ( ) const
virtual

Return true if the handler is empty.

Returns
true if the handler is empty else false.

Reimplemented from Core::FMTYieldHandler.

◆ get()

virtual double Core::FMTTimeYieldHandler::get ( const std::string &  yld,
const FMTYieldRequest request 
) const
virtual

Get the value of a yield for a request.

Parameters
[in]yldthe yield name.
[in]requestthe yield request.
Returns
the yield value.

Reimplemented from Core::FMTYieldHandler.

◆ getAllYieldsData()

virtual std::map< std::string, std::vector< double > > Core::FMTTimeYieldHandler::getAllYieldsData ( const int &  maxbase) const
virtual

Return all the yield data up to a maximum base age.

Parameters
[in]maxbasethe maximum base age.
Returns
a map of yield names to their values.

Reimplemented from Core::FMTYieldHandler.

◆ getFromFactor()

virtual std::unique_ptr< FMTYieldHandler > Core::FMTTimeYieldHandler::getFromFactor ( const double &  factor,
std::vector< std::string >  yieldnames = std::vector< std::string >() 
) const
virtual

Multiply the handler by a factor and return a new handler.

Parameters
[in]factorthe factor.
[in]yieldnamesthe yield names to multiply, all if empty.
Returns
the multiplied yield handler.

Reimplemented from Core::FMTYieldHandler.

◆ getLastValue()

virtual double Core::FMTTimeYieldHandler::getLastValue ( const std::string  yld) const
virtual

Return the last value of a yield.

Parameters
[in]yldthe yield name.
Returns
the last value of the yield.

Reimplemented from Core::FMTYieldHandler.

◆ getType()

virtual FMTyldtype Core::FMTTimeYieldHandler::getType ( ) const
virtual

Return the type of the yield handler.

Returns
the yield type.

Reimplemented from Core::FMTYieldHandler.

◆ getYieldNames()

virtual std::vector< std::string > Core::FMTTimeYieldHandler::getYieldNames ( ) const
virtual

Return the yield names of the handler.

Returns
the yield names.

Reimplemented from Core::FMTYieldHandler.

◆ operator std::string()

virtual Core::FMTTimeYieldHandler::operator std::string ( ) const
virtual

Return the string representation of the time yield handler.

Returns
the string representation.

Reimplemented from Core::FMTYieldHandler.

◆ operator=()

FMTTimeYieldHandler & Core::FMTTimeYieldHandler::operator= ( const FMTTimeYieldHandler rhs)
default

Copy assignment operator for FMTTimeYieldHandler.

Parameters
[in]rhsthe FMTTimeYieldHandler to copy.
Returns
a reference to this FMTTimeYieldHandler.

◆ operator==()

virtual bool Core::FMTTimeYieldHandler::operator== ( const FMTTimeYieldHandler rhs) const
virtual

Equality comparison operator of FMTTimeYieldHandler.

Parameters
[in]rhsthe handler to compare with.
Returns
true if both handlers are equal else false.

◆ operator[]()

virtual FMTData & Core::FMTTimeYieldHandler::operator[] ( const std::string &  yldname)
virtual

Access the data of a yield.

Parameters
[in]yldnamethe yield name.
Returns
a reference to the data of the yield.

Reimplemented from Core::FMTYieldHandler.

◆ pushData() [1/2]

virtual bool Core::FMTTimeYieldHandler::pushData ( const std::string &  yld,
const double &  value 
)
virtual

Push a value for a yield.

Parameters
[in]yldthe yield name.
[in]valuethe value.
Returns
true if the value is pushed else false.

Reimplemented from Core::FMTYieldHandler.

◆ pushData() [2/2]

virtual bool Core::FMTTimeYieldHandler::pushData ( const std::string &  yld,
const FMTData data 
)
virtual

Push data for a yield.

Parameters
[in]yldthe yield name.
[in]datathe data.
Returns
true if the data is pushed else false.

Reimplemented from Core::FMTYieldHandler.

◆ setYieldValues()

virtual void Core::FMTTimeYieldHandler::setYieldValues ( const std::string &  yldname,
const int &  startingperiod,
const std::vector< double > &  values 
)
virtual

Set the values for a given yield name.

Parameters
[in]yldnamethe yield name.
[in]startingperiodthe starting period.
[in]valuesthe values.

◆ size()

virtual size_t Core::FMTTimeYieldHandler::size ( ) const
virtual

Return the number of yields in the handler.

Returns
the number of yields.

Reimplemented from Core::FMTYieldHandler.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

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