![]() |
FMT 1.2.0
Forest management tools for forest planning
|
Base class for yield handlers, holding a mask and the base ages of the yields. More...
#include <FMTYieldHandler.h>
Public Member Functions | |
| 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. | |
| FMTYieldHandler & | operator= (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< FMTYieldHandler > | clone () 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 FMTData & | operator[] (const std::string &yldname) |
| Access the data of a yield. | |
| virtual const FMTData & | at (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< FMTYieldHandler > | preSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &newthemes) const |
| Return a presolved copy of the handler. | |
| virtual std::unique_ptr< FMTYieldHandler > | postSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &basethemes) const |
| Return a postsolved copy of the handler. | |
| virtual std::unique_ptr< FMTYieldHandler > | getFromFactor (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. | |
| FMTObject & | operator= (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) |
Protected Member Functions | |
| 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 | |
| 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 | |
| FMTMask | m_mask |
| std::vector< int > | m_bases |
| std::unordered_set< std::string > | m_lookat |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::FMTObject | |
| static Logging::FMTLogger * | getLogger () |
| get a pointer to the actual logger. | |
| static Exception::FMTExceptionHandler * | getExceptionHandler () |
| 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. | |
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. | |
Base class for yield handlers, holding a mask and the base ages of the yields.
|
virtualdefault |
Default virtual destructor for FMTYieldHandler.
|
default |
Default constructor for FMTYieldHandler.
|
default |
Copy constructor for FMTYieldHandler.
| [in] | rhs | the FMTYieldHandler to copy. |
| Core::FMTYieldHandler::FMTYieldHandler | ( | const FMTMask & | lmask | ) |
Construct a yield handler from a mask.
| [in] | lmask | the mask. |
|
staticprotected |
Push a value for a yield into the given elements.
| [in,out] | elements | the elements. |
| [in] | yld | the yield name. |
| [in] | value | the value. |
|
staticprotected |
Push data for a yield into the given elements.
| [in,out] | elements | the elements. |
| [in] | yld | the yield name. |
| [in] | data | the data. |
|
protected |
Return the change of value from a target age over a peak step.
| [in] | targetage | the target age. |
| [in] | peakstep | the peak step. |
|
protected |
Return the maximum base age for a request.
| [in] | request | the yield request. |
|
virtual |
Access the data of a yield.
| [in] | yldname | the yield name. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Clear the cache of the handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Clone the yield handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return the keys that match the handler.
| [in] | keys | the keys. |
|
virtual |
Return true if the handler contains a given yield.
| [in] | yldname | the yield name. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return true if the handler is empty.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Get the value of a yield for a request.
| [in] | yld | the yield name. |
| [in] | request | the yield request. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return the age of a development from a request and a specification.
| [in] | request | the yield request. |
| [in] | spec | the specification. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTComplexYieldHandler.
|
virtual |
Return all the yield data up to a maximum base age.
| [in] | maxbase | the maximum base age. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTTimeYieldHandler.
| const std::vector< int > & Core::FMTYieldHandler::getBases | ( | ) | const |
Return the base ages of the handler.
|
virtual |
Return the age at which a yield reaches a bound value.
| [in] | yld | the yield name. |
| [in] | lowerstep | the lower step. |
| [in] | bound | the bound. |
| [in] | value | the value. |
Reimplemented in Core::FMTAgeYieldHandler.
|
virtual |
Multiply the handler by a factor and return a new handler.
| [in] | factor | the factor. |
| [in] | yieldnames | the yield names to multiply, all if empty. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return the last base age of the handler.
Reimplemented in Core::FMTComplexYieldHandler.
|
virtual |
Return the last value of a yield.
| [in] | yld | the yield name. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTTimeYieldHandler.
| double Core::FMTYieldHandler::getLinearValue | ( | const std::vector< double > & | dls, |
| const int & | agetarget, | ||
| bool | allowoutofrange | ||
| ) | const |
Return the linearly interpolated value at a target age.
| [in] | dls | the values. |
| [in] | agetarget | the target age. |
| [in] | allowoutofrange | if true allows out of range values. |
| FMTMask Core::FMTYieldHandler::getMask | ( | ) | const |
Return the mask of the handler.
|
virtual |
Return the override index of the handler.
Reimplemented in Core::FMTComplexYieldHandler.
|
virtual |
Return the peak value of a yield for a request.
| [in] | request | the yield request. |
| [in] | yld | the yield name. |
| [in] | targetage | the target age. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTComplexYieldHandler.
|
virtual |
Return the tabou indexes of the handler.
Reimplemented in Core::FMTComplexYieldHandler.
|
virtual |
Return the type of the yield handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return the linearly interpolated value of a yield for a request.
| [in] | yldname | the yield name. |
| [in] | request | the yield request. |
| [in] | allowoutofrange | if true allows out of range values. |
Reimplemented in Core::FMTAgeYieldHandler, and Core::FMTComplexYieldHandler.
|
virtual |
Return the yield names of the handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return the yield names that are indexes among the given names.
| [in] | names | the names. |
Reimplemented in Core::FMTComplexYieldHandler.
| bool Core::FMTYieldHandler::inLookAt | ( | const std::string & | yld | ) | const |
Return true if a yield is in the look at set.
| [in] | yld | the yield name. |
|
virtual |
Return true if a yield is a null yield.
| [in] | yldname | the yield name. |
Reimplemented in Core::FMTModelYieldHandler.
|
virtual |
Return the string representation of the yield handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
default |
Copy assignment operator for FMTYieldHandler.
| [in] | rhs | the FMTYieldHandler to copy. |
|
virtual |
Equality comparison operator of FMTYieldHandler.
| [in] | rhs | the handler to compare with. |
|
virtual |
Access the data of a yield.
| [in] | yldname | the yield name. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Return a postsolved copy of the handler.
| [in] | filter | the mask filter. |
| [in] | basethemes | the original themes. |
Reimplemented in Core::FMTModelYieldHandler.
|
virtual |
Return a presolved copy of the handler.
| [in] | filter | the mask filter. |
| [in] | newthemes | the presolved themes. |
Reimplemented in Core::FMTModelYieldHandler.
| bool Core::FMTYieldHandler::pushBase | ( | const int & | base | ) |
Push a base age to the handler.
| [in] | base | the base age. |
|
virtual |
Push a value for a yield.
| [in] | yld | the yield name. |
| [in] | value | the value. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, and Core::FMTTimeYieldHandler.
|
virtual |
Push data for a yield.
| [in] | yld | the yield name. |
| [in] | data | the data. |
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, and Core::FMTTimeYieldHandler.
| void Core::FMTYieldHandler::setBase | ( | const std::vector< int > & | allvalues | ) |
Set the base ages of the handler.
| [in] | allvalues | the base ages to set. |
| void Core::FMTYieldHandler::setMask | ( | const FMTMask & | p_mask | ) |
Set the mask of the handler.
| [in] | p_mask | the mask to set. |
|
virtual |
Set the override index of the handler.
| [in] | newindex | the override index to set. |
Reimplemented in Core::FMTComplexYieldHandler.
|
virtual |
Return the number of yields in the handler.
Reimplemented in Core::FMTAgeYieldHandler, Core::FMTComplexYieldHandler, Core::FMTModelYieldHandler, and Core::FMTTimeYieldHandler.
|
friend |
|
protected |
|
mutableprotected |
|
protected |