FMT 0.9.8
Forest management tools for forest planning
Loading...
Searching...
No Matches
Rdeclarations.hpp
Go to the documentation of this file.
1/*
2Copyright (c) 2019 Gouvernement du Québec
3
4SPDX-License-Identifier: LiLiQ-R-1.1
5License-Filename: LICENSES/EN/LiLiQ-R11unicode.txt
6*/
7
8#ifndef RDECLARATIONS_H_INCLUDED
9#define RDECLARATIONS_H_INCLUDED
10
11/*This header file needs to be included before Rcpp.h*/
12
13#include <RcppCommon.h>
14#include <vector>
15#include <map>
16
17#include "FMTdevelopment.hpp"
19#include "FMTforest.hpp"
20//#include "FMTspatialaction.hpp"
21//#include "FMTgraph.hpp"
22#include "FMTlinegraph.hpp"
23//#include "FMTsasolution.hpp"
24#include "FMTmodel.hpp"
25#include "FMTsemodel.hpp"
26#include "FMTsrmodel.hpp"
27#include "FMTnssmodel.hpp"
28#if defined FMTWITHOSI
29 #include "FMTlpsolver.hpp"
30 #include "FMTlpmodel.hpp"
31#endif
32#include "FMTsesmodel.hpp"
33#include "FMTsaschedule.hpp"
35#include "FMTsamodel.hpp"
36#include "FMToperatingarea.hpp"
39
40#include "FMTmask.hpp"
43#include "FMTaction.hpp"
44#include "FMTbounds.hpp"
47#include "FMTfork.hpp"
48#include "FMTtransition.hpp"
49#include "FMToutputnode.hpp"
50#include "FMToutput.hpp"
51#include "FMTtheme.hpp"
52#include "FMTschedule.hpp"
53#include "FMTGCBMtransition.hpp"
54#include "FMTconstraint.hpp"
55#include "FMTcoordinate.hpp"
57#include "FMTmaskfilter.hpp"
58#include "FMToutputsource.hpp"
59#include "FMToperator.hpp"
60#include "FMTtransitionmask.hpp"
61
62//Parallel
63#include "FMTtask.hpp"
64#include "FMTtaskhandler.hpp"
65#include "FMTreplanningtask.hpp"
66#include "FMTplanningtask.hpp"
67#if defined FMTWITHOSI
69#endif
70
71#define RCPP_DECLAREVECTOR(CLASS)namespace Rcpp{\
72template <> std::vector<CLASS> as(SEXP obj);\
73template <> SEXP wrap(const std::vector<CLASS>& obj);\
74}
75
76#define RCPP_DECLARELIST(CLASS)namespace Rcpp{\
77template <> std::vector<CLASS> as(SEXP obj);\
78template <> SEXP wrap(const std::vector<CLASS>& obj);\
79}
80
81#define RCPP_DECLAREPAIR(FIRST,SECOND)namespace Rcpp{\
82template <> std::pair<FIRST,SECOND> as(SEXP obj);\
83template <> SEXP wrap(const std::pair<FIRST,SECOND>& obj);\
84}
85
86#define RCPP_DECLAREMAP(KEY,OBJECT)namespace Rcpp{\
87template <> std::map<KEY,OBJECT> as(SEXP obj);\
88template <> SEXP wrap(const std::map<KEY,OBJECT>& obj);\
89}
90
91#define RCPP_COMMA ,
92
93//Exception
95
96//Version
97
98//Parser
99RCPP_DECLAREMAP(std::string, std::string); //map of string definition
100
101//Spatial
104//RCPP_DECLAREVECTOR(Spatial::FMTspatialaction);//For vector
105//RCPP_DECLAREMAP(Spatial::FMTcoordinate,Graph::FMTgraph);//For FMTlayer
109//RCPP_DECLAREVECTOR(Spatial::FMTsasolution);//For vector
110//Models
112RCPP_DECLAREMAP(std::string, double);//For map<string,double>
116
117
118//Parallel
123#ifdef FMTWITHOSI
129#endif
131//Heuristics
132#ifdef FMTWITHOSI
139#endif
140//Core
157RCPP_DECLAREPAIR(Core::FMTmask, int);//pair for FMTlist
172RCPP_DECLARELIST(std::vector<Core::FMTschedule>)//For vector of vector
173RCPP_DECLAREVECTOR(Core::FMTGCBMtransition);//For vector
174RCPP_DECLAREVECTOR(Core::FMTconstraint);//For vector
175RCPP_DECLAREMAP(Core::FMTdevelopment, std::vector<double>);//For dev of doubles
176RCPP_DECLAREMAP(std::string, std::vector<double>);//For string of double map
177RCPP_DECLAREMAP(std::string, std::vector<Core::FMTdevelopment>);//For string of vector of developements
178RCPP_DECLAREMAP(Core::FMTaction , std::map<Core::FMTdevelopment RCPP_COMMA std::vector<double>>);//For action of ...
179RCPP_DECLAREMAP(std::string , std::map<std::string RCPP_COMMA std::vector<double>>);//For string of ...
180RCPP_DECLAREPAIR(Core::FMTmask, Core::FMToutputsource);//pair for FMTlist
181RCPP_DECLAREVECTOR(Core::FMToutputsource);//For vector
182RCPP_DECLAREPAIR(Core::FMTmask, Core::FMToperator);//pair for FMTlist
183RCPP_DECLAREVECTOR(Core::FMToperator);//For vector
184RCPP_DECLAREPAIR(Core::FMTtransitionmask, Core::FMTtransitionmask);//pair for FMTlist
185RCPP_DECLAREVECTOR(Core::FMTtransitionmask);//For vector
186
187
188
189#endif // RDECLARATIONS_H_INCLUDED
#define RCPP_COMMA
Definition: Rdeclarations.hpp:91
#define RCPP_DECLAREVECTOR(CLASS)
Definition: Rdeclarations.hpp:71
#define RCPP_DECLAREPAIR(FIRST, SECOND)
Definition: Rdeclarations.hpp:81
#define RCPP_DECLARELIST(CLASS)
Definition: Rdeclarations.hpp:76
#define RCPP_DECLAREMAP(KEY, OBJECT)
Definition: Rdeclarations.hpp:86
Definition: FMTaction.hpp:42
Definition: FMTactualdevelopment.hpp:25
Definition: FMTbounds.hpp:272
Definition: FMTageyieldhandler.hpp:20
Definition: FMTdevelopment.hpp:44
Definition: FMTdevelopmentpath.hpp:19
Definition: FMTfork.hpp:34
Definition: FMTfuturdevelopment.hpp:24
Definition: FMTbounds.hpp:314
Definition: FMTmask.hpp:96
Definition: FMTmaskfilter.hpp:27
Definition: FMToutput.hpp:39
Definition: FMToutputnode.hpp:20
Definition: FMTbounds.hpp:293
Definition: FMTschedule.hpp:31
Definition: FMTbounds.hpp:342
Definition: FMTtheme.hpp:47
Definition: FMTtimeyieldhandler.hpp:21
Definition: FMTtransition.hpp:37
Definition: FMTyieldhandler.hpp:31
Definition: FMTbounds.hpp:249
Definition: FMTlinegraph.hpp:30
Definition: FMToperatingarea.hpp:29
Definition: FMToperatingareacluster.hpp:28
Definition: FMToperatingareaclusterbinary.hpp:33
Definition: FMToperatingareaclusterer.hpp:30
Definition: FMToperatingareascheduler.hpp:63
Definition: FMToperatingareascheme.hpp:44
Definition: FMTlpmodel.hpp:57
Definition: FMTlpsolver.hpp:39
Definition: FMTmodel.hpp:60
Definition: FMTnssmodel.hpp:31
Definition: FMTsamodel.hpp:44
Definition: FMTsemodel.hpp:33
Definition: FMTsesmodel.hpp:28
Definition: FMTsrmodel.hpp:44
Definition: FMTopareaschedulertask.hpp:48
Definition: FMTplanningtask.hpp:39
Definition: FMTreplanningtask.hpp:44
Definition: FMTtask.hpp:28
Definition: FMTtaskhandler.hpp:22
Definition: FMTcoordinate.hpp:25
Definition: FMTforest.hpp:27
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31
FMTexc
Definition: FMTexception.hpp:42
FMTdblmodelparameters
Definition: FMTmodelparameters.hpp:37
FMTintmodelparameters
Definition: FMTmodelparameters.hpp:24
FMTboolmodelparameters
Definition: FMTmodelparameters.hpp:45