8#ifndef REXPORTCORE_H_INCLUDED
9#define REXPORTCORE_H_INCLUDED
135RCPP_DEFINELIST(std::vector<Core::FMTschedule>)
157 define_FMTlist<Core::FMTspec>(
"FMTspeclist");
158 define_FMTlist<int>(
"FMTintlist");
160 define_FMTlist<Core::FMTfork>(
"FMTforklist");
162 Rcpp::class_<Core::FMTobject>(
"FMTobject",
"@DocString(FMTobject)")
163 .constructor(
"@DocString(FMTobject())")
165 "@DocString(FMTobject::setdefaultexceptionhandler)")
167 "@DocString(FMTobject::setquietexceptionhandler)")
169 "@DocString(FMTobject::setdebugexceptionhandler)")
171 "@DocString(FMTobject::setfreeexceptionhandler)")
173 "@DocString(FMTobject::disablenestedexceptions)")
175 "@DocString(FMTobject::enablenestedexceptions)")
177 "@DocString(FMTobject::setquietlogger")
179 "@DocString(FMTobject::settasklogger")
181 "@DocString(FMTobject::setdefaultlogger")
183 "@DocString(FMTobject::setdebuglogger")
185 "@DocString(FMTobject::redirectlogtofile)")
187 "@DocString(FMTobject::seterrorstowarnings)");
189 Rcpp::class_<Core::FMTmask>(
"FMTmask",
"@DocString(FMTmask)")
190 .constructor(
"@DocString(FMTmask())")
191 .constructor<std::vector<std::string>,std::vector<Core::FMTtheme>>(
192 "@DocString(FMTmask(const std::vector<std::string>&,const std::vector<Core::FMTtheme>&))")
193 .constructor<std::string, std::vector<Core::FMTtheme>>(
194 "@DocString(FMTmask(const std::string&,const std::vector<Core::FMTtheme>&))")
195 .method(
"len", &Core::FMTmask::operator
bool,
196 "@DocString(FMTmask::operator bool)")
197 .method(
"str",&Core::FMTmask::operator std::string,
198 "@DocString(FMTmask::operator std::string)")
199 .method(
"eq", &Core::FMTmask::operator ==,
200 "@DocString(FMTmask::operator==)")
201 .method(
"ne", &Core::FMTmask::operator !=,
202 "@DocString(FMTmask::operator!=)")
203 .method(
"lt", &Core::FMTmask::operator <,
204 "@DocString(FMTmask::operator<)");
206 Rcpp::class_<Core::FMTmaskfilter>(
"FMTmaskfilter",
"@DocString(FMTmaskfilter)")
207 .constructor(
"@DocString(FMTmaskfilter())");
211 Rcpp::class_<Core::FMTmaskfilter>(
"FMTmaskfilter",
"@DocString(FMTmaskfilter)")
212 .constructor(
"@DocString(FMTmaskfilter())");
215 Rcpp::class_<Core::FMTdevelopment>(
"FMTdevelopment",
"@DocString(FMTdevelopment)")
216 .constructor(
"@DocString(FMTdevelopment())")
218 "@DocString(FMTdevelopment::getage)")
220 "@DocString(FMTdevelopment::getlock)")
222 "@DocString(FMTdevelopment::getperiod)")
224 "@DocString(FMTdevelopment::getmask)")
226 "@DocString(FMTdevelopment::setage)")
228 "@DocString(FMTdevelopment::setlock)")
230 "@DocString(FMTdevelopment::setperiod)")
232 "@DocString(FMTdevelopment::setmask)")
233 .method(
"eq", &Core::FMTdevelopment::operator ==,
234 "@DocString(FMTdevelopment::operator==)")
235 .method(
"ne", &Core::FMTdevelopment::operator !=,
236 "@DocString(FMTdevelopment::operator!=)")
237 .method(
"lt",&Core::FMTdevelopment::operator <,
238 "@DocString(FMTdevelopment::operator<)")
240 "@DocString(FMTdevelopment::grow)")
245 .method(
"str", &Core::FMTdevelopment::operator std::string,
246 "@DocString(FMTdevelopment::operate std::string)");
249 Rcpp::class_<Core::FMTagebounds>(
"FMTagebounds",
"@DocString(FMTagebounds)")
250 .constructor(
"@DocString(FMTagebounds())")
251 .constructor<
Core::FMTsection,int,
int>(
"@DocString(FMTagebounds(FMTsection,const int&,const int&))");
253 Rcpp::class_<Core::FMTperbounds>(
"FMTperbounds",
"@DocString(FMTperbounds)")
254 .constructor(
"@DocString(FMTperbounds())")
255 .constructor<
Core::FMTsection, int,
int>(
"@DocString(FMTperbounds(FMTsection,const int&,const int&))");
257 Rcpp::class_<Core::FMTyldbounds>(
"FMTyldbounds",
"@DocString(FMTyldbounds)")
258 .constructor(
"@DocString(FMTyldbounds())")
259 .constructor<
Core::FMTsection,std::string,double,
double>(
"@DocString(FMTperiodbounds(FMTsection,const std::string&,const double&,const double&))");
261 Rcpp::class_<Core::FMTlockbounds>(
"FMTlockbounds",
"@DocString(FMTlockbounds)")
262 .constructor(
"@DocString(FMTlockbounds())")
263 .constructor<
Core::FMTsection, int,
int>(
"@DocString(FMTlockbounds(FMTsection,const int&,const int&))");
268 Rcpp::class_<Core::FMTspec>(
"FMTspec",
"@DocString(FMTspec)")
269 .constructor(
"@DocString(FMTspec())")
273 "@DocString(Core::FMTspec::addbounds(const FMTagebounds&))")
276 "@DocString(Core::FMTspec::addbounds(const FMTyldbounds&))")
279 "@DocString(Core::FMTspec::addbounds(const FMTlockbounds&))");
282 Rcpp::class_<Core::FMTactualdevelopment>(
"FMTactualdevelopment",
"@DocString(FMTactualdevelopment)")
284 .constructor(
"@DocString(FMTactualdevelopment())")
285 .constructor<
Core::FMTmask,int,int,
double>(
"@DocString(FMTactualdevelopment(const FMTmask&,const int&,const int&,const int&,const double&))")
287 "@DocString(FMTactualdevelopment::getarea)")
289 "@DocString(FMTactualdevelopment::setarea)")
290 .method(
"eq", &Core::FMTactualdevelopment::operator ==,
291 "@DocString(FMTactualdevelopment::operator==)")
292 .method(
"ne", &Core::FMTactualdevelopment::operator !=,
293 "@DocString(FMTactualdevelopment::operator!=)")
294 .method(
"lt", &Core::FMTactualdevelopment::operator <,
295 "@DocString(FMTactualdevelopment::operator<)");
297 Rcpp::class_<Core::FMTfuturdevelopment>(
"FMTfuturdevelopment",
"@DocString(FMTfuturdevelopment)")
299 .constructor(
"@DocString(FMTfuturdevelopment())");
302 Rcpp::class_<Core::FMTaction>(
"FMTaction",
"@DocString(FMTaction)")
303 .constructor(
"@DocString(FMTaction())")
304 .constructor<std::string,bool,
bool>(
"@DocString(FMTaction(const std::string&,const bool&,const bool&))")
306 .method(
"__eq__",&Core::FMTaction::operator ==,
307 "@DocString(FMTaction::operator==)")
308 .method(
"__ne__",&Core::FMTaction::operator !=,
309 "@DocString(FMTaction::operator!=)")
310 .method(
"__lt__",&Core::FMTaction::operator <,
311 "@DocString(FMTaction::operator<)")
312 .method(
"__str__", &Core::FMTaction::operator std::string,
313 "@DocString(FMTaction::operator std::string)")
315 "@DocString(FMTaction::getname)")
317 "@DocString(FMTaction::dorespectlock)")
319 "@DocString(FMTaction::isresetage)");
323 Rcpp::class_<Core::FMTlifespans>(
"FMTlifespans",
"@DocString(FMTlifespans)")
325 .constructor(
"@DocString(FMTlifespans())");
329 Rcpp::class_<Core::FMTtransitionmask>(
"FMTtransitionmask",
"@DocString(FMTtransitionmask)")
330 .constructor<std::string,std::vector<Core::FMTtheme>,
double>(
"@DocString(FMTtransitionmask(const std::string&,const std::vector<FMTtheme>&,const double&))")
331 .constructor(
"@DocString(FMTtransitionmask())");
333 Rcpp::class_<Core::FMTfork>(
"FMTfork",
"@DocString(FMTfork)")
336 "@DocString(FMTfork::add)")
337 .constructor(
"@DocString(FMTfork())");
339 Rcpp::class_<Core::FMTyieldhandler>(
"FMTyieldhandler",
"@DocString(FMTyieldhandler)")
340 .constructor(
"@DocString(FMTyieldhandler())")
343 "@DocString(FMTyieldhandler::push_data(const std::string&,const double&))")
345 "@DocString(FMTyieldhandler::push_base)");
347 Rcpp::class_<Core::FMTageyieldhandler>(
"FMTageyieldhandler",
"@DocString(FMTageyieldhandler)")
349 .constructor(
"@DocString(FMTageyieldhandler())")
350 .constructor<
Core::FMTmask>(
"@DocString(FMTageyieldhandler(const FMTmask&))")
351 .method(
"str", &Core::FMTageyieldhandler::operator std::string,
352 "@DocString(FMTageyieldhandler::operator std::string)");
354 Rcpp::class_<Core::FMTtimeyieldhandler>(
"FMTtimeyieldhandler",
"@DocString(FMTtimeyieldhandler)")
356 .constructor(
"@DocString(FMTtimeyieldhandler())")
357 .constructor<
Core::FMTmask>(
"@DocString(FMTtimeyieldhandler(const FMTmask&))")
358 .method(
"str", &Core::FMTtimeyieldhandler::operator std::string,
359 "@DocString(FMTtimeyieldhandler::operator std::string)");
364 Rcpp::class_<Core::FMTyields>(
"FMTyields",
"@DocString(FMTyields)")
366 .constructor(
"@DocString(FMTyields())")
368 "@DocString(FMTyields::getallyields)")
370 "@DocString(FMTyields::getfromfactor)")
372 "@DocString(FMTyields::update)")
374 "@DocString(Core::FMTyields::push_backagehandler")
376 "@DocString(Core::FMTyields::push_backtimehandler");
381 Rcpp::class_<Core::FMTtransition>(
"FMTtransition",
"@DocString(FMTtransition)")
383 .constructor(
"@DocString(FMTtransition())")
384 .constructor<std::string>(
"@DocString(FMTtransition(const std::string&))")
386 "@DocString(FMTtransition::single)")
388 "@DocString(FMTtransition::main_target)")
390 "@DocString(FMTtransition::age_after)")
392 "@DocString(FMTtransition::attribute_targets)")
393 .method(
"str", &Core::FMTtransition::operator std::string,
394 "@DocString(FMTtransition::operator std::string)")
395 .method(
"eq",&Core::FMTtransition::operator ==,
396 "@DocString(FMTtransition::operator==)")
397 .method(
"ne",&Core::FMTtransition::operator !=,
398 "@DocString(FMTtransition::operator!=)")
399 .method(
"lt",&Core::FMTtransition::operator <,
400 "@DocString(FMTtransition::operator<)")
402 "@DocString(FMTtransition::getname)");
404 Rcpp::class_<Core::FMToutputsource>(
"FMToutputsource",
"@DocString(FMToutputsource)")
407 std::string, int,
int>(
"@DocString(FMToutputsource())")
408 .constructor(
"@DocString(FMToutputsource())");
410 Rcpp::class_<Core::FMToperator>(
"FMToperator",
"@DocString(FMToperator)")
411 .constructor(
"@DocString(FMToperator())");
413 Rcpp::class_<Core::FMToutputnode>(
"FMToutputnode",
"@DocString(FMToutputnode)")
414 .constructor(
"@DocString(FMToutputnode())")
415 .method(
"str", &Core::FMToutputnode::operator std::string,
416 "@DocString(FMToutputnode::operator std::string)");
419 Rcpp::class_<Core::FMToutput>(
"FMToutput",
"@DocString(FMToutput)")
420 .constructor(
"@DocString(FMToutput())")
421 .constructor<std::string,std::string,std::string,
422 std::vector<Core::FMToutputsource>,
423 std::vector<Core::FMToperator>>(
"@DocString(FMToutput(const std::string&,const std::string&,const int&,std::vector<FMToutputsource>&,std::vector<FMToperator>&))")
425 "@DocString(FMToutput::getname)")
427 "@DocString(FMToutput::getdescription)")
429 "@DocString(FMToutput::empty)")
431 "@DocString(FMToutput::containslevel)")
433 "@DocString(FMToutput::islevel)")
435 "@DocString(FMToutput::isonlylevel)")
438 .method(
"str", &Core::FMToutput::operator std::string,
439 "@DocString(FMToutput::operator std::string)")
440 .method(
"eq",&Core::FMToutput::operator ==,
441 "@DocString(FMToutput::operator==)")
442 .method(
"ne",&Core::FMToutput::operator !=,
443 "@DocString(FMToutput::operator!=)");
446 Rcpp::class_<Core::FMTtheme>(
"FMTtheme",
"@DocString(FMTtheme)")
447 .constructor(
"@DocString(FMTtheme())")
448 .constructor<std::vector<std::string>,
449 std::vector<std::string>,
450 std::vector<std::string>,
451 std::vector<std::vector<std::string>>,
452 size_t,size_t,std::string>(
453 "@DocString(const std::vector<std::string>&,const std::vector<std::string>&,const std::vector<std::vector<std::string>>,const std::vector<std::map<std::string, double>>&,const size_t&, const size_t&, const std::string&)")
454 .method(
"str", &Core::FMTtheme::operator std::string,
455 "@DocString(FMTtheme::operator std::string)")
456 .method(
"eq", &Core::FMTtheme::operator ==,
457 "@DocString(FMTtheme::operator==)")
459 "@DocString(FMTtheme::getattributes)")
461 "@DocString(FMTtheme::getname)")
462 .method(
"getaggregatesasdataframe", &Core::FMTtheme::getaggregatesasdataframe,
463 "@DocString(FMTtheme::getaggregatesasdataframee)")
464 .method(
"getattributesasdataframe", &Core::FMTtheme::getattributesasdataframe,
465 "@DocString(FMTtheme::getattributesasdataframe)");
468 Rcpp::class_<Core::FMTconstants>(
"FMTconstants",
"@DocString(FMTconstants)")
469 .constructor(
"@DocString(FMTconstants())");
471 Rcpp::class_<Core::FMTschedule>(
"FMTschedule",
"@DocString(FMTschedule)")
472 .constructor(
"@DocString(FMTschedule())")
473 .constructor<int, std::map<Core::FMTaction, std::map<Core::FMTdevelopment, std::vector<double>>>>(
474 "@DocString(FMTschedule(int,std::map<Core::FMTaction,std::map<Core::FMTdevelopment,std::vector<double>>>))")
475 .method(
"str", &Core::FMTschedule::operator std::string,
476 "@DocString(FMTschedule::operator std::string)")
477 .method(
"add", &Core::FMTschedule::operator +,
478 "@DocString(FMTschedule::operator+)")
480 "@DocString(FMTschedule::actionarea)")
482 "@DocString(FMTschedule::getperiod)")
484 "@DocString(FMTschedule::setperiod)")
485 .method(
"eq", &Core::FMTschedule::operator ==,
486 "@DocString(FMTschedule::operator==)")
487 .method(
"ne", &Core::FMTschedule::operator !=,
488 "@DocString(FMTschedule::operator!=)")
490 "@DocString(FMTschedule::empty)");
492 Rcpp::class_<Core::FMTGCBMtransition>(
"FMTGCBMtransition",
"@DocString(FMTGCBMtransition)")
493 .constructor(
"@DocString(FMTGCBMtransition())")
495 "@DocString(FMTGCBMtransition::name)")
497 "@DocString(FMTGCBMtransition::ageafter)")
499 "@DocString(FMTGCBMtransition::themes)");
501 Rcpp::class_<Core::FMTconstraint>(
"FMTconstraint",
"@DocString(FMTconstraint)")
503 .constructor(
"@DocString(FMTconstraint())")
506 "@DocString(FMTconstraint::setlength)")
507 .method(
"realconstraintstring", &Core::FMTconstraint::operator std::string,
508 "@DocString(FMTconstraint::operator std::string)")
509 .method(
"eq", &Core::FMTconstraint::operator ==,
510 "@DocString(FMTconstraint::operator==)");
#define RCPP_COMMA
Definition: Rdeclarations.hpp:91
RCPP_EXPOSED_AS(Core::FMTobject)
RCPP_EXPOSED_ENUM_NODECL(Core::FMTyldtype)
RCPP_DEFINEPAIR(Core::FMTmask, Core::FMTspec)
RCPP_DEFINEVECTOR(Core::FMTmask)
RCPP_EXPOSED_WRAP(Core::FMTobject)
RCPP_DEFINEMAP(Core::FMTdevelopment, std::vector< double >)
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
bool dorespectlock() const
Definition: FMTaction.hpp:160
bool isresetage() const
Definition: FMTaction.hpp:169
std::string getname() const
Definition: FMTaction.hpp:151
Definition: FMTactualdevelopment.hpp:25
double getarea() const override
void setarea(const double &newarea)
Definition: FMTbounds.hpp:272
Definition: FMTageyieldhandler.hpp:20
Definition: FMTconstants.hpp:29
void setlength(int firstperiod=1, int lastperiod=std::numeric_limits< int >::max())
Definition: FMTdevelopment.hpp:44
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)
int getage() const
Definition: FMTdevelopment.hpp:82
int getperiod() const
Definition: FMTdevelopment.hpp:98
FMTfuturdevelopment grow() const
Definition: FMTdevelopmentpath.hpp:19
Definition: FMTfork.hpp:34
void add(const FMTtransitionmask &transition)
Definition: FMTfuturdevelopment.hpp:24
Definition: FMTlifespans.hpp:24
Definition: FMTlist.hpp:46
Definition: FMTbounds.hpp:314
Definition: FMTmask.hpp:96
Definition: FMTmaskfilter.hpp:27
Definition: FMTobject.hpp:50
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()
Definition: FMToperator.hpp:36
Definition: FMToutput.hpp:39
bool containslevel() const
std::string getname() const
Definition: FMToutput.hpp:116
std::string getdescription() const
Definition: FMToutput.hpp:124
Definition: FMToutputnode.hpp:20
Definition: FMToutputsource.hpp:40
Definition: FMTbounds.hpp:293
Definition: FMTschedule.hpp:31
void setperiod(const int &newperiod)
double actionarea(const FMTaction &action) const
int getperiod() const
Definition: FMTschedule.hpp:134
Definition: FMTbounds.hpp:342
bool addbounds(const FMTagebounds &bound)
bool setbounds(const FMTperbounds &bound)
Definition: FMTtheme.hpp:47
std::string getname() const
Definition: FMTtheme.hpp:267
std::vector< std::string > getattributes(const std::string &value, bool aggregate_source=false) const
Definition: FMTtimeyieldhandler.hpp:21
Definition: FMTtransition.hpp:37
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: FMTtransitionmask.hpp:29
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
void push_backtimehandler(const FMTmask &mask, const FMTtimeyieldhandler &value)
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
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31
FMTsection
Definition: FMTutility.hpp:23
FMTconstrainttype
Definition: FMTconstraint.hpp:32
FMTyldtype
Definition: FMTutility.hpp:45
FMTotar
Definition: FMTutility.hpp:74
Definition: RexportCore.hpp:153