FMT 0.9.8
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTtransitionmask.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 FMTMASKTRAN_H_INCLUDED
9#define FMTMASKTRAN_H_INCLUDED
10
11#include "FMTbounds.hpp"
12#include "FMTmask.hpp"
13#include "FMTmaskfilter.hpp"
14#include <boost/serialization/serialization.hpp>
15#include <string>
16#include "FMTutility.hpp"
17
18
19
20
21namespace Core
22{
23class FMTdevelopment;
24class FMTyields;
25class FMTyieldrequest;
26class FMTtheme;
27
29 {
30 friend class boost::serialization::access;
31 template<class Archive>
32 void serialize(Archive& ar, const unsigned int version)
33 {
34 ar & boost::serialization::make_nvp("maskfilter", boost::serialization::base_object<FMTmaskfilter>(*this));
35 ar & boost::serialization::make_nvp("specification", boost::serialization::base_object<FMTspec>(*this));
36 ar & BOOST_SERIALIZATION_NVP(mask);
37 ar & BOOST_SERIALIZATION_NVP(proportion);
38 }
39 FMTmask mask;
40 double proportion;
41 void build(const std::string& lmask,const std::vector<FMTtheme>& themes);
42 public:
45 FMTtransitionmask(const std::string& lmask,const std::vector<FMTtheme>& themes,
46 const double& lproportion);
47 FMTmask trans(const FMTmask& basemask) const;
49 FMTtransitionmask(const FMTtransitionmask& rhs,const FMTmask& lmask,const std::vector<FMTtheme>& themes);
50 FMTtransitionmask& operator = (const FMTtransitionmask& rhs);
52 const std::vector<FMTtheme>& themes,const bool& reset_age) const;
53 std::map<std::string, std::string>get(const std::vector<FMTtheme>& themes) const;
54 bool operator == (const FMTtransitionmask& rhs) const;
55 double getproportion() const;
57 void setmask(const Core::FMTmask& mtmask);
58 void setproportion(double newproportion);
59 FMTtransitionmask presolve(const FMTmaskfilter& filter, const std::vector<FMTtheme>&presolvedthemes) const;
60 operator std::string() const override;
61 };
62
63}
64#endif // FMTMASKTRAN_H_INCLUDED
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTdevelopment.hpp:44
Definition: FMTmask.hpp:96
Definition: FMTmaskfilter.hpp:27
Definition: FMTbounds.hpp:342
Definition: FMTtransitionmask.hpp:29
FMTtransitionmask(const FMTtransitionmask &rhs, const FMTmask &lmask, const std::vector< FMTtheme > &themes)
void setproportion(double newproportion)
FMTtransitionmask(const FMTtransitionmask &rhs)
FMTtransitionmask(const std::string &lmask, const std::vector< FMTtheme > &themes, const double &lproportion)
FMTmask getmask() const
double getproportion() const
void setmask(const Core::FMTmask &mtmask)
std::map< std::string, std::string > get(const std::vector< FMTtheme > &themes) const
FMTdevelopment disturb(const Core::FMTdevelopment &dev, const FMTyields &yields, const std::vector< FMTtheme > &themes, const bool &reset_age) const
FMTtransitionmask presolve(const FMTmaskfilter &filter, const std::vector< FMTtheme > &presolvedthemes) const
FMTmask trans(const FMTmask &basemask) const
Definition: FMTyields.hpp:40
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31