FMT 0.9.8
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTsesmodel.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 FMTSESM_H_INCLUDED
9#define FMTSESM_H_INCLUDED
10
11#include "FMTsemodel.hpp"
12#include <boost/serialization/vector.hpp>
13#include <boost/serialization/serialization.hpp>
14#include <boost/serialization/nvp.hpp>
15#include <boost/serialization/export.hpp>
16
17namespace Models
18{
19// DocString: FMTsesmodel
27class FMTEXPORT FMTsesmodel final: public FMTsemodel
28 {
29 // DocString: FMTsesmodel::Serialize
33 friend class boost::serialization::access;
34 template<class Archive>
35 void serialize(Archive& ar, const unsigned int version)
36 {
37 ar & boost::serialization::make_nvp("semodel", boost::serialization::base_object<FMTsemodel>(*this));
38 }
39 virtual void swap_ptr(const std::unique_ptr<FMTmodel>& rhs);
40 // DocString: FMTsesmodel()
44 FMTsesmodel(const FMTsemodel& rhs);
45 public:
46 // DocString: FMTsesmodel()
51 // DocString: ~FMTsesmodel()
55 ~FMTsesmodel() = default;
56 // DocString: FMTsesmodel(const FMTsesmodel)
61 // DocString: FMTsesmodel(const FMTmodel)
65 FMTsesmodel(const FMTmodel& rhs);
66 // DocString: FMTsesmodel(const FMTmodel)
70 FMTsesmodel(const FMTmodel& rhs, const Spatial::FMTforest& forest);
71 // DocString: FMTsesmodel::operator=
75 FMTsesmodel& operator = (const FMTsesmodel& rhs);
76 // DocString: FMTsesmodel(FMTsesmodel&&)
80 FMTsesmodel(FMTsesmodel&& rhs)=default;
81 // DocString: FMTsesmodel::operator=(FMTsesmodel&& rhs)
85 FMTsesmodel& operator =(FMTsesmodel&& rhs) =default;
86 // DocString: FMTsesmodel::getdisturbancestats
90 std::string getdisturbancestats() const;
91 // DocString: FMTsesmodel::greedyreferencebuild
97 std::map<std::string, double> greedyreferencebuild(const Core::FMTschedule& schedule,
98 const size_t& randomiterations,
99 unsigned int seed = 0,
100 double tolerance = FMT_DBL_TOLERANCE);
101 // DocString: FMTsesmodel::clone
105 virtual std::unique_ptr<FMTmodel>clone() const;
106 // DocString: FMTsesmodel::build
110 virtual bool build(std::vector<Core::FMTschedule> schedules=std::vector<Core::FMTschedule>());
111 // DocString: FMTsesmodel::solve
115 virtual bool solve()
116 {
117 return true;
118 }
119 // DocString: FMTsesmodel::presolve
124 virtual std::unique_ptr<FMTmodel>presolve(std::vector<Core::FMTactualdevelopment> optionaldevelopments = std::vector<Core::FMTactualdevelopment>()) const;
125 // DocString: FMTsesmodel::getcopy
132 virtual std::unique_ptr<FMTmodel> getcopy(int period = 0) const;
133 };
134
135}
136
137BOOST_CLASS_EXPORT_KEY(Models::FMTsesmodel)
138
139#endif // FMTSESM_H_INCLUDED
#define FMT_DBL_TOLERANCE
Definition: FMTutility.hpp:11
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTschedule.hpp:31
Definition: FMTmodel.hpp:60
Definition: FMTsemodel.hpp:33
Definition: FMTsesmodel.hpp:28
~FMTsesmodel()=default
virtual bool solve()
Definition: FMTsesmodel.hpp:115
std::string getdisturbancestats() const
FMTsesmodel(const FMTmodel &rhs)
std::map< std::string, double > greedyreferencebuild(const Core::FMTschedule &schedule, const size_t &randomiterations, unsigned int seed=0, double tolerance=FMT_DBL_TOLERANCE)
virtual std::unique_ptr< FMTmodel > clone() const
FMTsesmodel(FMTsesmodel &&rhs)=default
virtual bool build(std::vector< Core::FMTschedule > schedules=std::vector< Core::FMTschedule >())
virtual std::unique_ptr< FMTmodel > getcopy(int period=0) const
FMTsesmodel(const FMTmodel &rhs, const Spatial::FMTforest &forest)
virtual std::unique_ptr< FMTmodel > presolve(std::vector< Core::FMTactualdevelopment > optionaldevelopments=std::vector< Core::FMTactualdevelopment >()) const
FMTsesmodel(const FMTsesmodel &rhs)
Definition: FMTforest.hpp:27
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTareaparser.hpp:50