8#ifndef PYEXPORTCORE_H_INCLUDED
9#define PYEXPORTCORE_H_INCLUDED
26#include "boost/python.hpp"
36BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getattributes_overloads, getattributes, 1, 2)
38BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getnodes_overloads, getnodes, 1, 4)
39BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getyieldrequest_overloads, getyieldrequest, 0, 0)
40BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(operable_overloads, operable, 2, 3)
44 namespace bp = boost::python;
45 bp::object CoreModule(bp::handle<>(bp::borrowed(PyImport_AddModule(
"FMT.Core"))));
46 bp::scope().attr(
"Core") = CoreModule;
47 bp::scope Core_scope = CoreModule;
48 bp::scope().attr(
"__doc__") =
".. module:: Core\n"
50 " :platform: Unix, Windows\n"
51 " :synopsis: Core class for generating Forest Models.\n"
54 bp::enum_<Core::FMTsection>(
"FMTsection")
68 bp::enum_<Core::FMToutputlevel>(
"FMToutputlevel")
74 bp::enum_<Core::FMTconstrainttype>(
"FMTconstrainttype")
88 bp::class_<Core::FMTobject>(
"FMTobject",
"@DocString(FMTobject)")
90 "@DocString(FMTobject::setdefaultexceptionhandler)")
92 "@DocString(FMTobject::setquietexceptionhandler)")
94 "@DocString(FMTobject::setdebugexceptionhandler)")
96 "@DocString(FMTobject::setfreeexceptionhandler)")
98 "@DocString(FMTobject::enablenestedexceptions)")
100 "@DocString(FMTobject::disablenestedexceptions)")
102 "@DocString(FMTobject::setdefaultlogger)")
104 "@DocString(FMTobject::setdebuglogger)")
106 "@DocString(FMTobject::setquietlogger)")
108 "@DocString(FMTobject::settasklogger")
110 "@DocString(FMTobject::redirectlogtofile)")
112 "@DocString(FMTobject::seterrorstowarnings)");
114 bp::class_<Core::FMTmaskfilter>(
"FMTmaskfilter",
"@DocString(FMTmaskfilter)");
116 define_pylist<Core::FMTmaskfilter>();
117 define_pylist<Core::FMTmask>();
118 define_pylist<Core::FMTdevelopment>();
119 define_pylist<Core::FMTfuturdevelopment>();
120 define_pylist<Core::FMTactualdevelopment>();
121 define_pydict<std::string, std::vector<Core::FMTdevelopment>>();
123 define_pylist<Core::FMTtheme>();
124 define_pylist<Core::FMTaction>();
125 define_pylist<Core::FMTtransition>();
126 define_pylist<Core::FMToutput>();
127 define_pylist<Core::FMTschedule>();
128 define_pylist<std::vector<Core::FMTschedule>>();
129 define_pylist<Core::FMTyieldhandler>();
130 define_pylist<Core::FMToutputsource>();
131 define_pylist<Core::FMToperator>();
133 define_pydict<Core::FMTdevelopment, std::vector<double>>();
134 define_pydict<Core::FMTaction,std::map<Core::FMTdevelopment, std::vector<double>>>();
135 py_pair<Core::FMTaction, std::map<Core::FMTdevelopment, std::vector<double>>>();
136 py_pair<Core::FMTaction const, std::map<Core::FMTdevelopment, std::vector<double>>>();
138 define_FMTlist<Core::FMTspec>();
139 define_pylist<std::vector<std::string>>();
143 bp::class_<Core::FMTmask>(
"FMTmask",
"@DocString(FMTmask)")
144 .def(bp::init<Core::FMTmask>())
145 .def_pickle(FMT_pickle_suite<Core::FMTmask>())
146 .def(bp::init<
const std::vector<std::string>&,
const std::vector<Core::FMTtheme>&>())
147 .def(bp::init<
const std::string&,
const std::vector<Core::FMTtheme>&>())
148 .def(
"__len__", &Core::FMTmask::operator
bool,
149 "@DocString(FMTmask::operator bool)")
150 .def(
"__str__",&Core::FMTmask::operator std::string,
151 "@DocString(FMTmask::operator std::string)")
152 .def(
"__eq__", &Core::FMTmask::operator ==,
153 "@DocString(FMTmask::operator==)")
154 .def(
"__ne__", &Core::FMTmask::operator !=,
155 "@DocString(FMTmask::operator!=)")
156 .def(
"__lt__", &Core::FMTmask::operator <,
157 "@DocString(FMTmask::operator<)")
158 .def(
"__hash__",&boost::pyhash<Core::FMTmask>)
159 .def(
"issubsetof",issubsetof,
160 "@DocString(FMTmask::issubsetof)")
162 "@DocString(FMTmask::presolve)")
164 "@DocString(FMTmask::postsolve)");
166 bp::class_<Core::FMTdevelopment>(
"FMTdevelopment",
"@DocString(FMTdevelopment)")
167 .def_pickle(FMT_pickle_suite<Core::FMTdevelopment>())
168 .def(bp::init<Core::FMTdevelopment>())
170 "@DocString(FMTdevelopment::getage)")
172 "@DocString(FMTdevelopment::getlock)")
174 "@DocString(FMTdevelopment::getperiod)")
176 "@DocString(FMTdevelopment::getmask)")
178 "@DocString(FMTdevelopment::setage)")
180 "@DocString(FMTdevelopment::setlock)")
182 "@DocString(FMTdevelopment::setperiod)")
184 "@DocString(FMTdevelopment::setmask)")
185 .def(
"__eq__", &Core::FMTdevelopment::operator ==,
186 "@DocString(FMTdevelopment::operator==)")
187 .def(
"__ne__", &Core::FMTdevelopment::operator !=,
188 "@DocString(FMTdevelopment::operator!=)")
189 .def(
"__lt__",&Core::FMTdevelopment::operator <,
190 "@DocString(FMTdevelopment::operator<")
192 "@DocString(FMTdevelopment::grow)")
193 .def(
"operable",&
Core::FMTdevelopment::operable,operable_overloads(bp::args(
"action,yields,yieldrequest"),
"@DocString(FMTdevelopment::operable)"))
195 "@DocString(FMTdevelopment::operate)")
197 .def(
"__str__", &Core::FMTdevelopment::operator std::string,
198 "@DocString(FMTdevelopment::operator std::string)")
199 .setattr(
"__hash__",&boost::pyhash<Core::FMTdevelopment>);
203 bp::class_<Core::FMTagebounds>(
"FMTagebounds",
"@DocString(FMTagebounds)")
204 .def(bp::init<Core::FMTagebounds>())
205 .def(bp::init<Core::FMTsection, int, int>());
207 bp::class_<Core::FMTperbounds>(
"FMTperbounds",
"@DocString(FMTperbounds)")
208 .def(bp::init<Core::FMTperbounds>())
209 .def(bp::init<Core::FMTsection, int, int>());
211 bp::class_<Core::FMTyldbounds>(
"FMTyldbounds",
"@DocString(FMTyldbounds)")
212 .def(bp::init<Core::FMTyldbounds>())
213 .def(bp::init<Core::FMTsection, std::string, double, double>());
215 bp::class_<Core::FMTlockbounds>(
"FMTlockbounds",
"@DocString(FMTlockbounds)")
216 .def(bp::init<Core::FMTlockbounds>())
217 .def(bp::init<Core::FMTsection, int, int>());
219 bp::class_<Core::FMTspec>(
"FMTspec",
"@DocString(FMTspec)")
220 .def(bp::init<Core::FMTspec>())
222 "@DocString(FMTspec::getperiodlowerbound)")
224 "@DocString(FMTspec::getperiodupperbound)")
227 "@DocString(Core::FMTspec::addbounds(const FMTagebounds&))")
229 "@DocString(Core::FMTspec::addbounds(const FMTyldbounds&))")
231 "@DocString(Core::FMTspec::addbounds(const FMTlockbounds&))");
233 bp::class_<Core::FMTtransitionmask>(
"FMTtransitionmask",
"@DocString(FMTtransitionmask)")
234 .def(bp::init<
const std::string&,
const std::vector<Core::FMTtheme>&,
const double&>())
235 .def(bp::init<Core::FMTtransitionmask>());
237 bp::class_<Core::FMTfork, bp::bases<Core::FMTlist<Core::FMTspec>>>(
"FMTfork",
"@DocString(FMTfork)")
238 .def(bp::init<Core::FMTfork>())
240 "@DocString(FMTfork::add)");
245 bp::class_<Core::FMTactualdevelopment, bp::bases<Core::FMTdevelopment>>(
"FMTactualdevelopment",
"@DocString(FMTactualdevelopment)")
246 .def(bp::init<const Core::FMTmask&, const int&, const int&, const double&>())
247 .def(bp::init<Core::FMTactualdevelopment>())
249 "@DocString(FMTactualdevelopment::getarea)")
251 "@DocString(FMTactualdevelopment::setarea)")
252 .def(
"__eq__", &Core::FMTactualdevelopment::operator ==,
253 "@DocString(FMTactualdevelopment::operator==)")
254 .def(
"__ne__", &Core::FMTactualdevelopment::operator !=,
255 "@DocString(FMTactualdevelopment::operator!=)")
256 .def(
"__lt__", &Core::FMTactualdevelopment::operator <,
257 "@DocString(FMTactualdevelopment::operator<)");
259 bp::class_<Core::FMTfuturdevelopment, bp::bases<Core::FMTdevelopment>>(
"FMTfuturdevelopment",
"@DocString(FMTfuturdevelopment)");
264 define_FMTlist<int>();
267 define_FMTlist<Core::FMTfork>();
271 bp::class_<Core::FMTaction, bp::bases<Core::FMTlist<Core::FMTspec>>>(
"FMTaction",
"@DocString(FMTaction)")
272 .def_pickle(FMT_pickle_suite<Core::FMTaction>())
273 .def(bp::init<Core::FMTaction>())
274 .def(bp::init<const std::string&,const bool&,const bool&>())
275 .def(
"__eq__",&Core::FMTaction::operator ==,
276 "@DocString(FMTaction::operator==)")
277 .def(
"__ne__",&Core::FMTaction::operator !=,
278 "@DocString(FMTaction::operator!=)")
279 .def(
"__lt__",&Core::FMTaction::operator <,
280 "@DocString(FMTaction::operator<)")
281 .def(
"__str__", &Core::FMTaction::operator std::string,
282 "@DocString(FMTaction::operator std::string)")
284 "@DocString(FMTaction::getname)")
286 "@DocString(FMTaction::dorespectlock)")
288 "@DocString(FMTaction::useyield)")
290 "@DocString(FMTaction::push_aggregate)")
292 "@DocString(FMTaction::getaggregates)")
294 "@DocString(FMTaction::update)")
296 "@DocString(FMTaction::isresetage)")
297 .setattr(
"__hash__",&boost::pyhash<Core::FMTaction>);
299 bp::class_<Core::FMTlifespans, bp::bases<Core::FMTlist<int>>>(
"FMTlifespans",
"@DocString(FMTlifespans)")
300 .def(bp::init<Core::FMTlifespans>());
303 bp::enum_<Core::FMTyldtype>(
"FMTyldtype")
309 define_pydict<std::string, std::map<std::string,std::vector<double>>>();
311 define_pydict<std::string, std::vector<double>>();
313 bp::class_<Core::FMTyieldhandler>(
"FMTyieldhandler",
"@DocString(FMTyieldhandler)")
314 .def(bp::init<Core::FMTyieldhandler>())
316 "@DocString(FMTyieldhandler::push_data(const std::string&,const double&))")
318 "@DocString(FMTyieldhandler::push_base)");
321 bp::class_<Core::FMTageyieldhandler,bp::bases<Core::FMTyieldhandler>>(
"FMTageyieldhandler",
"@DocString(FMTageyieldhandler)")
322 .def(bp::init<const Core::FMTmask&>())
323 .def_pickle(FMT_pickle_suite<Core::FMTageyieldhandler>())
324 .def(
"__str__", &Core::FMTageyieldhandler::operator std::string,
325 "@DocString(FMTageyieldhandler::operator std::string)")
327 "@DocString(FMTageyieldhandler::setyieldvalues)");
329 define_pylist<Core::FMTageyieldhandler>();
331 bp::class_<Core::FMTtimeyieldhandler,bp::bases<Core::FMTyieldhandler>>(
"FMTtimeyieldhandler",
"@DocString(FMTtimeyieldhandler)")
332 .def(bp::init<const Core::FMTmask&>())
333 .def_pickle(FMT_pickle_suite<Core::FMTtimeyieldhandler>())
334 .def(
"__str__", &Core::FMTtimeyieldhandler::operator std::string,
335 "@DocString(FMTtimeyieldhandler::operator std::string)")
337 "@DocString(FMTtimeyieldhandler::setyieldvalues)");
339 define_pylist<Core::FMTtimeyieldhandler>();
342 .def(bp::init<Core::FMTyields>())
343 .def_pickle(FMT_pickle_suite<Core::FMTyields>())
345 "@DocString(FMTyields::getallyields)")
347 "@DocString(FMTyields::get)")
349 "@DocString(FMTyields::push_backagehandler)")
351 "@DocString(FMTyields::push_backtimehandler)")
353 "@DocString(FMTyields::getallyieldnames)")
355 "@DocString(FMTyields::getfromfactor)")
357 "@DocString(FMTyields::update)");
361 bp::class_<Core::FMTtransition, bp::bases<Core::FMTlist<Core::FMTfork>>>(
"FMTtransition",
"@DocString(FMTtransition)")
362 .def_pickle(FMT_pickle_suite<Core::FMTtransition>())
363 .def(bp::init<Core::FMTtransition>())
364 .def(bp::init<const std::string&>())
366 "@DocString(FMTtransition::single)")
368 "@DocString(FMTtransition::main_target)")
370 "@DocString(FMTtransition::age_after)")
372 "@DocString(FMTtransition::attribute_targets)")
373 .def(
"__str__", &Core::FMTtransition::operator std::string,
374 "@DocString(FMTtransition::operator std::string)")
375 .def(
"__eq__",&Core::FMTtransition::operator ==,
376 "@DocString(FMTtransition::operator==)")
377 .def(
"__ne__",&Core::FMTtransition::operator !=,
378 "@DocString(FMTtransition::operator!=)")
379 .def(
"__lt__",&Core::FMTtransition::operator <,
380 "@DocString(FMTtransition::operator<)")
382 "@DocString(FMTtransition::getname)");
385 bp::enum_<Core::FMTotar>(
"FMTotar")
393 bp::class_<Core::FMToutputsource>(
"FMToutputsource",
"@DocString(FMToutputsource)")
396 const std::string&,
const int&,
const int&>())
397 .def(bp::init<Core::FMToutputsource>());
399 bp::class_<Core::FMToperator>(
"FMToperator",
"@DocString(FMToperator)")
400 .def(bp::init<Core::FMToperator>());
403 bp::class_<Core::FMToutputnode>(
"FMToutputnode",
"@DocString(FMToutputnode)")
404 .def(bp::init<const Core::FMTmask&,const std::string&>())
405 .def(
"__str__", &Core::FMToutputnode::operator std::string,
406 "@DocString(FMToutputnode::operator std::string)");
408 define_FMTlist<Core::FMToutputnode>();
410 bp::class_<Core::FMToutput>(
"FMToutput",
"@DocString(FMToutput)")
411 .def(bp::init<Core::FMToutput>())
412 .def(bp::init<
const std::string&,
const std::string&,
const std::string&,
413 const std::vector<Core::FMToutputsource>&,
414 const std::vector<Core::FMToperator>&>())
415 .def_pickle(FMT_pickle_suite<Core::FMTtransition>())
417 "@DocString(FMToutput::getname)")
419 "@DocString(FMToutput::getdescription)")
421 "@DocString(FMToutput::empty)")
423 "@DocString(FMToutput::containslevel)")
425 "@DocString(FMToutput::islevel)")
427 "@DocString(FMToutput::isonlylevel)")
428 .def(
"getnodes",&
Core::FMToutput::getnodes, getnodes_overloads(bp::args(
"multiplier"),
"@DocString(FMToutput::getnodes)"))
429 .def(
"__str__", &Core::FMToutput::operator std::string,
430 "@DocString(FMToutput::operator std::string)")
431 .def(
"__eq__",&Core::FMToutput::operator ==,
432 "@DocString(FMToutput::operator==)")
433 .def(
"__ne__",&Core::FMToutput::operator !=,
434 "@DocString(FMToutput::operator!=)");
436 bp::class_<Core::FMTtheme>(
"FMTtheme",
"@DocString(FMTtheme)")
437 .def_pickle(FMT_pickle_suite<Core::FMTtheme>())
438 .def(bp::init<
const std::vector<std::string>&,
const std::vector<std::string>&,
const std::vector<std::string>&,
const std::vector<std::vector<std::string>>&,
const size_t&,
const size_t&,
const std::string&>())
439 .def(bp::init<Core::FMTtheme>())
440 .def(
"__str__", &Core::FMTtheme::operator std::string,
441 "@DocString(FMTtheme::operator std::string)")
442 .def(
"__eq__", &Core::FMTtheme::operator ==,
443 "@DocString(FMTtheme::operator==)")
444 .def(
"getattributes", &
Core::FMTtheme::getattributes, getattributes_overloads(bp::args(
"value",
"aggregate_source"),
"@DocString(FMTtheme::getattributes)"))
446 "@DocString(FMTtheme::getname)");
448 bp::class_<Core::FMTconstants>(
"FMTconstants",
"@DocString(FMTconstants)");
450 bp::class_<Core::FMTschedule>(
"FMTschedule",
"@DocString(FMTschedule)")
451 .def_pickle(FMT_pickle_suite<Core::FMTschedule>())
452 .def(bp::init<Core::FMTschedule>())
454 .def(
"__str__", &Core::FMTschedule::operator std::string,
455 "@DocString(FMTschedule::operator std::string)")
456 .def(
"__add__", &Core::FMTschedule::operator +,
457 "@DocString(FMTschedule::operator+)")
459 "@DocString(FMTschedule::actionarea)")
461 "@DocString(FMTschedule::getperiod)")
463 "@DocString(FMTschedule::setperiod)")
464 .def(
"__eq__", &Core::FMTschedule::operator ==,
465 "@DocString(FMTschedule::operator==)")
466 .def(
"__ne__", &Core::FMTschedule::operator !=,
467 "@DocString(FMTschedule::operator!=)")
468 .def(
"__iter__", boost::python::iterator<Core::FMTschedule>())
470 "@DocString(FMTschedule::empty)");
472 bp::class_<Core::FMTGCBMtransition>(
"FMTGCBMtransition",
"@DocString(FMTGCBMtransition)")
474 "@DocString(FMTGCBMtransition::name)")
476 "@DocString(FMTGCBMtransition::ageafter)")
480 bp::class_<Core::FMTconstraint, bp::bases<Core::FMToutput,Core::FMTspec>>(
"FMTconstraint",
"@DocString(FMTconstraint)")
481 .def(bp::init<Core::FMTconstraint>())
482 .def(bp::init<Core::FMTconstrainttype,const Core::FMToutput&>())
483 .def(
"__str__", &Core::FMTconstraint::operator std::string,
484 "@DocString(FMTconstraint::operator std::string)")
485 .def(
"__eq__", &Core::FMTconstraint::operator ==,
486 "@DocString(FMTconstraint::operator==)")
488 "@DocString(FMTconstraint::getiterationchange,)")
490 "@DocString(FMTconstraint::isspatial)")
492 "@DocString(FMTconstraint::setlength)")
494 "@DocString(FMTconstraint::issetfrom)")
496 "@DocString(FMTconstraint::setfrom)")
498 "@DocString(FMTconstraint::sense)")
500 "@DocString(FMTconstraint::getconstrainttype)")
502 "@DocString(FMTconstraint::getfromreplicate)")
504 "@DocString(FMTconstraint::getscheduleweight)");
506 define_FMTlist<Core::FMTconstraint>();
507 define_FMTlist<Core::FMTGCBMtransition>();
509 bp::class_<Core::FMTyieldrequest>(
"FMTyieldrequest",
"@DocString(FMTyieldrequest)");
511 define_FMTlist<Core::FMTyieldrequest>();
std::map< std::string, std::string > themes
Map where's the key is the theme name and the element is the new attribute set after the transition.
Definition: FMTGCBMtransition.hpp:47
int ageafter
Describe the age set on the strata after the disturbance.
Definition: FMTGCBMtransition.hpp:44
std::string name
The name of the GCBM transition.
Definition: FMTGCBMtransition.hpp:50
Definition: FMTaction.hpp:42
std::vector< std::string > getaggregates() const
bool dorespectlock() const
Definition: FMTaction.hpp:160
bool isresetage() const
Definition: FMTaction.hpp:169
std::string getname() const
Definition: FMTaction.hpp:151
void push_aggregate(const std::string &aggregate)
bool useyield(const std::string &yldname) const
double getarea() const override
void setarea(const double &newarea)
Definition: FMTbounds.hpp:272
virtual void setyieldvalues(const std::string &yldname, const std::vector< int > &baseages, const std::vector< double > &values)
void setlength(int firstperiod=1, int lastperiod=std::numeric_limits< int >::max())
bool issetfrom(const std::string &modeltype) const
Core::FMTconstraint getfromreplicate(const size_t &replicate, const int &period) const
double getscheduleweight() const
Core::FMTconstraint setfrom(const std::string &modeltype, const double &value) const
FMTconstrainttype getconstrainttype() const
Core::FMTconstraint getiterationchange(const std::vector< double > &periodchanges, const int &targetperiod) const
Definition: FMTdevelopment.hpp:44
FMTyieldrequest getyieldrequest(const Graph::FMTgraphvertextoyield *graphyieldrequest=nullptr) const
std::vector< FMTdevelopmentpath > operate(const FMTaction &action, const FMTtransition &Transition, const Core::FMTyields &ylds, const std::vector< FMTtheme > &themes) const
void setage(const int &lage)
int getlock() const
Definition: FMTdevelopment.hpp:90
Core::FMTmask getmaskcopy() const
Definition: FMTdevelopment.hpp:114
void setlock(const int &llock)
void setperiod(const int &lperiod)
void setmask(const Core::FMTmask &lmask)
bool operable(const FMTaction &action, const Core::FMTyields &ylds, const Graph::FMTgraphvertextoyield *graphyieldrequest=nullptr) const
int getage() const
Definition: FMTdevelopment.hpp:82
int getperiod() const
Definition: FMTdevelopment.hpp:98
FMTfuturdevelopment grow() const
void add(const FMTtransitionmask &transition)
Definition: FMTbounds.hpp:314
Definition: FMTmask.hpp:96
FMTmask presolve(const FMTmaskfilter &filter, const std::vector< FMTtheme > &presolvedthemes) const
bool issubsetof(const boost::dynamic_bitset<> &rhs) const
Definition: FMTmask.hpp:352
FMTmask postsolve(const FMTmaskfilter &filter, const std::vector< FMTtheme > &basethemes) const
virtual void setquietlogger()
void seterrorstowarnings(const std::vector< Exception::FMTexc > &errors)
void enablenestedexceptions()
void redirectlogtofile(const std::string &location)
void disablenestedexceptions()
void setdebugexceptionhandler()
void setquietexceptionhandler()
virtual void setdefaultlogger()
void setdefaultexceptionhandler()
void setfreeexceptionhandler()
virtual void settasklogger()
virtual void setdebuglogger()
bool containslevel() const
std::vector< FMToutputnode > getnodes(std::vector< std::string > &equation, double multiplier=1, bool orderbyoutputid=false, int period=1) const
std::string getname() const
Definition: FMToutput.hpp:116
std::string getdescription() const
Definition: FMToutput.hpp:124
void setperiod(const int &newperiod)
double actionarea(const FMTaction &action) const
int getperiod() const
Definition: FMTschedule.hpp:134
Definition: FMTbounds.hpp:342
int getperiodlowerbound() const
bool addbounds(const FMTagebounds &bound)
bool setbounds(const FMTperbounds &bound)
int getperiodupperbound() const
std::string getname() const
Definition: FMTtheme.hpp:267
std::vector< std::string > getattributes(const std::string &value, bool aggregate_source=false) const
virtual void setyieldvalues(const std::string &yldname, const int &startingperiod, const std::vector< double > &values)
std::map< std::string, std::vector< FMTdevelopment > > attribute_targets(const std::vector< FMTdevelopment > &devs, const FMTyields &ylds, const std::vector< FMTtheme > &themes) const
std::string getname() const
Definition: FMTtransition.hpp:87
FMTmask main_target(const std::vector< FMTdevelopment > &devs, const FMTyields &ylds) const
FMTtransition single() const
unsigned int age_after(const std::vector< FMTdevelopment > &devs, const FMTaction &action, const FMTyields &ylds, const std::vector< FMTtheme > &themes) const
Definition: FMTyieldhandler.hpp:31
bool push_base(const int &base)
virtual bool push_data(const std::string &yld, const double &value)
Definition: FMTyields.hpp:40
std::map< std::string, std::map< std::string, std::vector< double > > > getallyields(const FMTtheme &target, FMTyldtype type) const
std::vector< std::string > getallyieldnames() const
void push_backtimehandler(const FMTmask &mask, const FMTtimeyieldhandler &value)
double get(const FMTyieldrequest &request, const std::string &yld) const
void push_backagehandler(const FMTmask &mask, const FMTageyieldhandler &value)
FMTyields getfromfactor(const double &factor, std::vector< std::string >yieldnames=std::vector< std::string >()) const
Definition: FMTbounds.hpp:249
@ Control
Definition: FMTutility.hpp:24
@ Constants
Definition: FMTutility.hpp:32
@ Area
Definition: FMTutility.hpp:26
@ Outputs
Definition: FMTutility.hpp:30
@ Optimize
Definition: FMTutility.hpp:31
@ Landscape
Definition: FMTutility.hpp:25
@ Schedule
Definition: FMTutility.hpp:33
@ Action
Definition: FMTutility.hpp:27
@ Transition
Definition: FMTutility.hpp:28
@ Empty
Definition: FMTutility.hpp:35
@ Yield
Definition: FMTutility.hpp:29
@ FMTsequence
Definition: FMTconstraint.hpp:39
@ FMTspatialadjacency
Definition: FMTconstraint.hpp:42
@ FMTstandard
Definition: FMTconstraint.hpp:40
@ FMTMINMAXobjective
Definition: FMTconstraint.hpp:36
@ FMTnondeclining
Definition: FMTconstraint.hpp:38
@ FMTMAXMINobjective
Definition: FMTconstraint.hpp:35
@ FMTspatialsize
Regular constraint type like output = 1...
Definition: FMTconstraint.hpp:41
@ FMTMAXobjective
Definition: FMTconstraint.hpp:33
@ FMTMINobjective
Definition: FMTconstraint.hpp:34
@ FMTevenflow
Definition: FMTconstraint.hpp:37
@ FMTspatialgreenup
Definition: FMTconstraint.hpp:43
@ FMTcomplexyld
Definition: FMTutility.hpp:48
@ FMTageyld
Definition: FMTutility.hpp:46
@ FMTtimeyld
Definition: FMTutility.hpp:47
@ developpement
Definition: FMTutility.hpp:20
@ totalonly
Definition: FMTutility.hpp:19
@ standard
Definition: FMTutility.hpp:18
FMTotar
Definition: FMTutility.hpp:74
@ actual
Definition: FMTutility.hpp:76
@ val
Definition: FMTutility.hpp:77
@ level
Definition: FMTutility.hpp:79
@ timeyld
Definition: FMTutility.hpp:78
@ inventory
Definition: FMTutility.hpp:75
Definition: PYdefinitions.hpp:14
void exportCore()
Definition: PYexportCore.hpp:42