FMT 0.9.8
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMToutputnode.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 FMTOUTPUTNODE_H_INCLUDED
9#define FMTOUTPUTNODE_H_INCLUDED
10
11#include "FMToutputsource.hpp"
12#include <map>
13#include "FMTutility.hpp"
14
15namespace Core
16{
17class FMTaction;
18
20 {
21 public:
24 double constant;
26 FMToutputnode(const FMToutputsource& lsource, const FMToutputsource& lfactor, const double& lconstant);
28 // DocString: FMTlpheuristic::FMToutputnode
33 FMToutputnode(const Core::FMTmask& generalmask,const std::string& actionaggregate);
34 size_t hash() const;
35 size_t hashforvalue() const;
36 bool allowcashdeduction() const;
37 bool singleperiod() const;
38 bool multiperiod() const;
39 bool ispastperiod() const;
40 bool isnull() const;
41 bool operator < (const FMToutputnode& rhs) const;
42 bool operator == (const FMToutputnode& rhs) const;
43 bool issubsetof(const FMToutputnode& rhs) const;
44 bool issubsetof(const FMToutputnode& rhs,const std::vector<Core::FMTaction>& actions) const;
46 inline int getoutputid() const
47 {
48 return source.getoutputorigin();
49 }
50 inline bool isactionbased() const
51 {
52 return source.isaction();
53 }
54 bool issamevalues(const FMToutputnode& rhs) const;
55 operator std::string() const;
56 std::string gethashstring() const;
58 void fillhashmaskspec(Core::FMTmask& basemask) const;
59 FMToutputnode setperiod(int period) const;
60 FMToutputnode& operator = (const FMToutputnode& rhs);
61 int settograph(std::vector<int>& targetedperiods, int period,int max_period);
62 ~FMToutputnode()=default;
63 void fillupequation(std::map<std::string,std::vector<std::string>>& allequations,
64 const std::map<std::string, double>& graphvalues,
65 const std::vector<std::string>& equation, const size_t& nodeid) const;
66 };
67
69 {
70 public:
71 bool operator()(const FMToutputnode& node1, const FMToutputnode& node2) const;
72
73 };
74
76{
77public:
78 bool operator()(const FMToutputnode& node1, const FMToutputnode& node2) const;
79
80};
81
83 {
84 public:
85 size_t operator()(const FMToutputnode & node) const;
86 };
87
88
89}
90
91BOOST_CLASS_EXPORT_KEY(Core::FMToutputnode)
92
93#endif
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTmask.hpp:96
Definition: FMToutputnode.hpp:20
FMToutputnode(const FMToutputsource &lsource, const FMToutputsource &lfactor, const double &lconstant)
bool issamebutdifferentaction(const FMToutputnode &rhs) const
std::string gethashstring() const
FMToutputnode(const Core::FMTmask &generalmask, const std::string &actionaggregate)
FMToutputnode(const FMToutputnode &rhs)
bool issubsetof(const FMToutputnode &rhs) const
double constant
Definition: FMToutputnode.hpp:24
void fillhashmaskspec(Core::FMTmask &basemask) const
bool issubsetof(const FMToutputnode &rhs, const std::vector< Core::FMTaction > &actions) const
bool issamevalues(const FMToutputnode &rhs) const
FMToutputnode setperiod(int period) const
Core::FMTmask gethashmask() const
bool ispastperiod() const
~FMToutputnode()=default
int settograph(std::vector< int > &targetedperiods, int period, int max_period)
FMToutputsource factor
Definition: FMToutputnode.hpp:23
bool multiperiod() const
bool allowcashdeduction() const
FMToutputsource source
Definition: FMToutputnode.hpp:22
void fillupequation(std::map< std::string, std::vector< std::string > > &allequations, const std::map< std::string, double > &graphvalues, const std::vector< std::string > &equation, const size_t &nodeid) const
bool isactionbased() const
Definition: FMToutputnode.hpp:50
bool singleperiod() const
int getoutputid() const
Definition: FMToutputnode.hpp:46
size_t hashforvalue() const
bool isnull() const
size_t hash() const
Definition: FMToutputnode.hpp:83
size_t operator()(const FMToutputnode &node) const
Definition: FMToutputnode.hpp:76
bool operator()(const FMToutputnode &node1, const FMToutputnode &node2) const
Definition: FMToutputnode.hpp:69
bool operator()(const FMToutputnode &node1, const FMToutputnode &node2) const
Definition: FMToutputsource.hpp:40
bool isaction() const
Definition: FMToutputsource.hpp:190
int getoutputorigin() const
Definition: FMToutputsource.hpp:80
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31