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

Fork of a transition, holding the transition masks (targets and proportions) applied to a development when an action is operated. More...

#include <FMTFork.h>

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

Public Member Functions

 FMTFork ()
 Default constructor for FMTFork.
 
 FMTFork (const FMTFork &rhs)=default
 Copy constructor for FMTFork.
 
 ~FMTFork ()
 Destructor for FMTFork.
 
FMTForkoperator= (const FMTFork &rhs)=default
 Copy assignment operator for FMTFork.
 
void add (const FMTTransitionMask &transition)
 Add a transition mask to the fork.
 
void clear ()
 Clear the transition masks of the fork.
 
std::vector< FMTDevelopmentPathgetPaths (const Core::FMTDevelopment &base, const Core::FMTYields &ylds, const std::vector< FMTTheme > &themes, const bool &reset_age) const
 Return the development paths generated by the fork on a base development.
 
FMTDevelopment getMax (const FMTDevelopment &base, const FMTYields &ylds, const std::vector< FMTTheme > &themes, const bool &reset_age) const
 Return the development with the maximal proportion generated by the fork on a base development.
 
std::vector< FMTTransitionMaskgetMaskTrans () const
 Return the transition masks of the fork.
 
bool operator== (const FMTFork &rhs) const
 Comparison operator for FMTFork.
 
FMTFork single () const
 Return a fork keeping only a single transition mask.
 
double sumProp () const
 Return the sum of the proportions of the transition masks.
 
size_t size () const
 Return the number of transition masks of the fork.
 
FMTFork preSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &presolvedthemes) const
 Return a presolved copy of the fork using a mask filter and the presolved themes.
 
void preSolveRef (const FMTMaskFilter &filter, const std::vector< FMTTheme > &presolvedthemes)
 Presolve the fork in place using a mask filter and the presolved themes.
 
 operator std::string () const override
 Return the string representation of the fork.
 
- 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::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::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.
 
- 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

Fork of a transition, holding the transition masks (targets and proportions) applied to a development when an action is operated.

Constructor & Destructor Documentation

◆ FMTFork() [1/2]

Core::FMTFork::FMTFork ( )

Default constructor for FMTFork.

◆ FMTFork() [2/2]

Core::FMTFork::FMTFork ( const FMTFork rhs)
default

Copy constructor for FMTFork.

Parameters
[in]rhsthe FMTFork to copy.

◆ ~FMTFork()

Core::FMTFork::~FMTFork ( )

Destructor for FMTFork.

Member Function Documentation

◆ add()

void Core::FMTFork::add ( const FMTTransitionMask transition)

Add a transition mask to the fork.

Parameters
[in]transitionthe transition mask.

◆ clear()

void Core::FMTFork::clear ( )

Clear the transition masks of the fork.

◆ getMaskTrans()

std::vector< FMTTransitionMask > Core::FMTFork::getMaskTrans ( ) const

Return the transition masks of the fork.

Returns
the transition masks.

◆ getMax()

FMTDevelopment Core::FMTFork::getMax ( const FMTDevelopment base,
const FMTYields ylds,
const std::vector< FMTTheme > &  themes,
const bool &  reset_age 
) const

Return the development with the maximal proportion generated by the fork on a base development.

Parameters
[in]basethe base development.
[in]yldsthe yields.
[in]themesthe themes.
[in]reset_ageif true resets the age.
Returns
the maximal development.

◆ getPaths()

std::vector< FMTDevelopmentPath > Core::FMTFork::getPaths ( const Core::FMTDevelopment base,
const Core::FMTYields ylds,
const std::vector< FMTTheme > &  themes,
const bool &  reset_age 
) const

Return the development paths generated by the fork on a base development.

Parameters
[in]basethe base development.
[in]yldsthe yields.
[in]themesthe themes.
[in]reset_ageif true resets the age.
Returns
the development paths.

◆ operator std::string()

Core::FMTFork::operator std::string ( ) const
override

Return the string representation of the fork.

Returns
the string representation.

◆ operator=()

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

Copy assignment operator for FMTFork.

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

◆ operator==()

bool Core::FMTFork::operator== ( const FMTFork rhs) const

Comparison operator for FMTFork.

Parameters
[in]rhsthe FMTFork to compare to.
Returns
true if both forks are equal else false.

◆ preSolve()

FMTFork Core::FMTFork::preSolve ( const FMTMaskFilter filter,
const std::vector< FMTTheme > &  presolvedthemes 
) const

Return a presolved copy of the fork using a mask filter and the presolved themes.

Parameters
[in]filterthe mask filter.
[in]presolvedthemesthe presolved themes.
Returns
the presolved fork.

◆ preSolveRef()

void Core::FMTFork::preSolveRef ( const FMTMaskFilter filter,
const std::vector< FMTTheme > &  presolvedthemes 
)

Presolve the fork in place using a mask filter and the presolved themes.

Parameters
[in]filterthe mask filter.
[in]presolvedthemesthe presolved themes.

◆ single()

FMTFork Core::FMTFork::single ( ) const

Return a fork keeping only a single transition mask.

Returns
the single fork.

◆ size()

size_t Core::FMTFork::size ( ) const

Return the number of transition masks of the fork.

Returns
the number of transition masks.

◆ sumProp()

double Core::FMTFork::sumProp ( ) const

Return the sum of the proportions of the transition masks.

Returns
the sum of the proportions.

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: