FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTBindingSpatialAction.h
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 FMTBINDINGSPATIALACTION_Hm_included
9#define FMTBINDINGSPATIALACTION_Hm_included
10
11#include <vector>
12#include <limits>
13#include <cstddef>
14
15namespace Spatial
16
17{
18 // DocString: FMTBindingSpatialAction
23 {
24 public:
25 // DocString: FMTBindingSpatialAction()
30 // DocString: FMTBindingSpatialAction(const FMTBindingSpatialAction)
36 // DocString: FMTBindingSpatialAction::operator=
43 // DocString: FMTBindingSpatialAction(const std::vector<int>&,...)
56 FMTBindingSpatialAction(const std::vector<int>& lneighbors,
57 const size_t& mingreenup, const size_t& maxgreenup,
58 const size_t& minadjacency, const size_t& maxadjacency,
59 const size_t& minsize, const size_t& maxsize,
60 const size_t& minnsize, const size_t& maxnsize);
61 // DocString: FMTBindingSpatialAction::isSpatiallyBinding
66 bool isSpatiallyBinding() const;
67 // DocString: FMTBindingSpatialAction::isSpatiallyAreaBinding
73 // DocString: FMTBindingSpatialAction::isSpatiallyAdjacencyBinding
79 // DocString: FMTBindingSpatialAction::testMinimalAdjacency
85 // DocString: FMTBindingSpatialAction::testMaximalAdjacency
91 // DocString: FMTBindingSpatialAction::getNeighbors
96 inline const std::vector<int>& getNeighbors() const
97 {
98 return m_neighbors;
99 }
100 // DocString: FMTBindingSpatialAction::getMinimalGreenUp
105 inline const size_t& getMinimalGreenUp() const
106 {
107 return m_minimal_green_up;
108 }
109 // DocString: FMTBindingSpatialAction::getMaximalGreenUp
114 inline const size_t& getMaximalGreenUp() const
115 {
116 return m_maximal_green_up;
117 }
118 // DocString: FMTBindingSpatialAction::getMinimalAdjacency
123 inline const size_t& getMinimalAdjacency() const
124 {
125 return m_minimal_adjacency;
126 }
127 // DocString: FMTBindingSpatialAction::getMaximalAdjacency
132 inline const size_t& getMaximalAdjacency() const
133 {
134 return m_maximal_adjacency;
135 }
136 // DocString: FMTBindingSpatialAction::getMinimalSize
141 inline const size_t& getMinimalSize() const
142 {
143 return m_minimal_size;
144 }
145 // DocString: FMTBindingSpatialAction::getMaximalSize
150 inline const size_t& getMaximalSize() const
151 {
152 return m_maximal_size;
153 }
154 // DocString: FMTBindingSpatialAction::getMinimalNeighborSize
159 inline const size_t& getMinimalNeighborSize() const
160 {
161 return m_minimal_neighbors_size;
162 }
163 // DocString: FMTBindingSpatialAction::getMaximalNeighborSize
168 inline const size_t& getMaximalNeighborSize() const
169 {
170 return m_maximal_neighbors_size;
171 }
172 private:
173 std::vector<int>m_neighbors;
174 size_t m_minimal_green_up;
175 size_t m_maximal_green_up;
176 size_t m_minimal_adjacency;
177 size_t m_maximal_adjacency;
178 size_t m_minimal_size;
179 size_t m_maximal_size;
180 size_t m_minimal_neighbors_size;
181 size_t m_maximal_neighbors_size;
182 };
183
184
185
186}
187#endif
Spatial binding of an action, holding the green up, adjacency, size and neighbors constraints used to...
Definition: FMTBindingSpatialAction.h:23
FMTBindingSpatialAction(const std::vector< int > &lneighbors, const size_t &mingreenup, const size_t &maxgreenup, const size_t &minadjacency, const size_t &maxadjacency, const size_t &minsize, const size_t &maxsize, const size_t &minnsize, const size_t &maxnsize)
Construct a FMTBindingSpatialAction from its neighbors and its green up, adjacency,...
bool testMinimalAdjacency() const
Return true if a minimal adjacency is set.
const size_t & getMinimalAdjacency() const
Return the minimal adjacency.
Definition: FMTBindingSpatialAction.h:123
bool isSpatiallyAdjacencyBinding() const
Return true if the action is spatially binding on the adjacency.
FMTBindingSpatialAction & operator=(const FMTBindingSpatialAction &rhs)=default
Copy assignment operator for FMTBindingSpatialAction.
FMTBindingSpatialAction(const FMTBindingSpatialAction &rhs)=default
Copy constructor for FMTBindingSpatialAction.
const size_t & getMaximalNeighborSize() const
Return the maximal neighbors size.
Definition: FMTBindingSpatialAction.h:168
bool isSpatiallyAreaBinding() const
Return true if the action is spatially binding on the area (size).
const size_t & getMinimalNeighborSize() const
Return the minimal neighbors size.
Definition: FMTBindingSpatialAction.h:159
bool isSpatiallyBinding() const
Return true if the action is spatially binding.
const size_t & getMinimalSize() const
Return the minimal size.
Definition: FMTBindingSpatialAction.h:141
const size_t & getMinimalGreenUp() const
Return the minimal green up.
Definition: FMTBindingSpatialAction.h:105
FMTBindingSpatialAction()=default
Default constructor for FMTBindingSpatialAction.
const std::vector< int > & getNeighbors() const
Return the neighbors of the action.
Definition: FMTBindingSpatialAction.h:96
const size_t & getMaximalSize() const
Return the maximal size.
Definition: FMTBindingSpatialAction.h:150
const size_t & getMaximalGreenUp() const
Return the maximal green up.
Definition: FMTBindingSpatialAction.h:114
bool testMaximalAdjacency() const
Return true if a maximal adjacency is set.
const size_t & getMaximalAdjacency() const
Return the maximal adjacency.
Definition: FMTBindingSpatialAction.h:132
Definition: FMTAreaParser.h:40