12#include <boost/serialization/export.hpp>
16 class FMTeventcontainer;
31 friend class boost::serialization::access;
32 template<
class Archive>
33 void serialize(Archive& ar,
const unsigned int version)
42 bool isanyactionofedge(
const FMTbaseedgeproperties& edgeproperty,
const std::unordered_set<int>& actions)
const;
94 const std::vector<Core::FMTdevelopmentpath>& paths);
100 const Core::FMTyields& ylds,
const std::vector<Core::FMTtheme>& themes);
125 std::vector<FMTpredictor>
getperiodpredictors(
const int& period,
const Models::FMTmodel& model,
const std::vector<std::string>& yieldnames,
bool periodonevalues =
false,
bool withGCBMid =
true)
const;
155 bool dontchoosegrow=
false);
203 std::string
getedgesstr(
const int& maximalperiod,
bool& gotthewhole)
const;
233 bool ismovable(
const std::vector<const Core::FMTaction*>& actions,
234 const Core::FMTyields& yields,
const int& period, boost::unordered_map<Core::FMTdevelopment, bool>*operability =
nullptr)
const;
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTaction.hpp:42
Definition: FMTdevelopment.hpp:44
Definition: FMTmask.hpp:96
Definition: FMToutputnode.hpp:20
Definition: FMToutputsource.hpp:40
Definition: FMTtransition.hpp:37
Definition: FMTyields.hpp:40
Definition: FMTbaseedgeproperties.hpp:26
Definition: FMTbasevertexproperties.hpp:23
Definition: FMTgraph.hpp:78
boost::graph_traits< FMTadjacency_list >::vertex_descriptor FMTvertex_descriptor
Definition: FMTgraph.hpp:110
Definition: FMTgraphstats.hpp:28
Definition: FMTlinegraph.hpp:30
bool stringforconstraint(std::string &value, const int &stop, const Core::FMTmask &dynamicmask) const
void filledgesmask(Core::FMTmask &mask, const int &maximalperiod) const
size_t operate(const Core::FMTaction &action, const int &action_id, const Core::FMTtransition &transition, const Core::FMTyields &ylds, const std::vector< Core::FMTtheme > &themes)
bool hashforconstraint(size_t &hashvalue, const int &stop, const Core::FMTmask &dynamicmask) const
bool ismovable(const std::vector< const Core::FMTaction * > &actions, const Core::FMTyields &yields, const int &period, boost::unordered_map< Core::FMTdevelopment, bool > *operability=nullptr) const
const Core::FMTdevelopment & getbasedevelopment() const
size_t getbasehash(const Core::FMTmask &dynamicmask) const
std::string getedgesstr(const int &maximalperiod, bool &gotthewhole) const
int randomoperate(const std::vector< int > &operables, const Models::FMTmodel &model, FMTvertex_descriptor &front_vertex, std::default_random_engine &generator, const Core::FMTdevelopment &active_development, bool dontchoosegrow=false)
FMTgraphstats clearfromperiod(const int &period, bool updatedevelopments=false)
std::vector< int > randombuildperiod(const Models::FMTmodel &model, std::default_random_engine &generator, boost::unordered_map< Core::FMTdevelopment, std::vector< int > > &operability, bool dontchoosegrow=false)
FMTlinegraph(const FMTlinegraph &rhs)
size_t getedgeshash(const int &maximalperiod, bool &gotthewhole) const
std::vector< int > getperiodactionids(const int &period) const
const Core::FMTdevelopment & getperiodstartdev(const int &period) const
std::vector< int > anyusageof(Core::FMToutputnode output_node, const Models::FMTmodel &model, const int &startingperiod) const
void setaction(FMTvertex_descriptor active, const int &actionID, const std::vector< Core::FMTdevelopmentpath > &paths)
FMTvertex_descriptor getactivevertex() const
int getlastactionid(const int &period) const
Core::FMTmask getbasemask(const Core::FMTmask &dynamicmask) const
FMTlinegraph(const FMTgraphbuild lbuildtype)
int getinedgeactionid(const FMTvertex_descriptor &vdesc) const
bool isonlygrow(int period=0) const
std::vector< std::vector< bool > > getactions(const Models::FMTmodel &model, const int &fromperiod, std::map< Core::FMTdevelopment, std::vector< bool > > &operability) const
FMTlinegraph(const FMTgraph< FMTbasevertexproperties, FMTbaseedgeproperties > &rhs)
const Core::FMTdevelopment & getperiodstopdev(const int &period) const
std::vector< FMTpredictor > getperiodpredictors(const int &period, const Models::FMTmodel &model, const std::vector< std::string > &yieldnames, bool periodonevalues=false, bool withGCBMid=true) const
std::string getbasestr(const Core::FMTmask &dynamicmask) const
FMTlinegraph partialcopy(const int &period) const
Definition: FMTmodel.hpp:60
Namespace for using/building unidirectional graphs in FMT.
Definition: FMTareaparser.hpp:31
FMTgraphbuild
Definition: FMTgraph.hpp:67
The spatial namespace provides classes for spatialy explicit simulation/optimization based on raster ...
Definition: FMTareaparser.hpp:36