8#ifndef FMTFORK_Hm_included
9#define FMTFORK_Hm_included
12#include "FMTBounds.hpp"
14#include <boost/serialization/serialization.hpp>
15#include <boost/serialization/split_member.hpp>
16#include <boost/serialization/nvp.hpp>
17#include <boost/serialization/export.hpp>
18#include <boost/serialization/unique_ptr.hpp>
19#include <boost/serialization/vector.hpp>
26class FMTDevelopmentPath;
84 const std::vector<FMTTheme>& themes,
const bool& reset_age)
const;
146 operator std::string()
const override;
148 friend class boost::serialization::access;
156 template<
class Archive>
157 void serialize(Archive& ar,
const unsigned int version)
159 ar& boost::serialization::make_nvp(
"specifications", boost::serialization::base_object<FMTSpec>(*
this));
162 std::vector<FMTTransitionMask>m_transitions;
175 const std::vector<FMTTheme>& p_themes,
bool p_AgeReset)
const;
#define FMTEXPORT
Definition: FMTutility.h:125
Development path holding a generated development and the proportion of area going to it.
Definition: FMTDevelopmentPath.h:26
Base class of FMTActualDevelopment and FMTFuturDevelopment representing a forest stand.
Definition: FMTDevelopment.h:44
Fork of a transition, holding the transition masks (targets and proportions) applied to a development...
Definition: FMTFork.h:38
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.
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.
~FMTFork()
Destructor for FMTFork.
std::vector< FMTTransitionMask > getMaskTrans() const
Return the transition masks of the fork.
void add(const FMTTransitionMask &transition)
Add a transition mask to the fork.
FMTFork()
Default constructor for FMTFork.
FMTFork single() const
Return a fork keeping only a single transition mask.
void clear()
Clear the transition masks of the fork.
void preSolveRef(const FMTMaskFilter &filter, const std::vector< FMTTheme > &presolvedthemes)
Presolve the fork in place using a mask filter and the presolved themes.
FMTFork(const FMTFork &rhs)=default
Copy constructor for FMTFork.
std::vector< FMTDevelopmentPath > 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.
Filter built from masks used to preSolve and postsolve FMTMask objects.
Definition: FMTMaskFilter.h:31
Base class of multiple FMT classes holding a shared exception handler pointer and logger.
Definition: FMTObject.h:49
Transition mask holding a target mask and a proportion, used to disturb a development in a transition...
Definition: FMTTransitionMask.h:35
FMTList containing multiple yield handlers as seen in the yield section, holding the information rela...
Definition: FMTYields.h:44
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34