FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
FMTGraphVertexToYield.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
9#ifndef FMTGRAPHTOYIELD_Hm_included
10#define FMTGRAPHTOYIELD_Hm_included
11
12namespace Models
13{
14class FMTModel;
15}
16
17namespace Graph
18{
19 template<class T1, class T2>
20 class FMTGraph;
25
26 // DocString: FMTGraphVertexToYield
31 {
32 public:
33 // DocString: FMTGraphVertexToYield(const Models::FMTModel&,const FMTGraph<FMTBaseVertexProperties, FMTBaseEdgeProperties>&,const void*)
41 // DocString: FMTGraphVertexToYield(const Models::FMTModel&,const FMTGraph<FMTVertexProperties, FMTEdgeProperties>&,const void*)
49 // DocString: FMTGraphVertexToYield()
54 // DocString: FMTGraphVertexToYield(const FMTGraphVertexToYield&)
60 // DocString: FMTGraphVertexToYield::operator=
67 // DocString: FMTGraphVertexToYield::getLineGraph
73 // DocString: FMTGraphVertexToYield::getFullGraph
79 // DocString: FMTGraphVertexToYield::getVertexPtr
84 inline const void* getVertexPtr() const
85 {
86 return m_vertex;
87 }
88 // DocString: FMTGraphVertexToYield::getModel
93 const Models::FMTModel* getModel() const;
94 private:
95 enum FMTgraphrequest
96 {
97 nograph = 0,
98 linegraph = 1,
99 fullgraph = 2,
100 count = 3
101 };
102 void const* m_graph;
103 void const* m_vertex;
104 FMTgraphrequest m_graphtype;
105 Models::FMTModel const* m_modelptr;
106 };
107
108}
109
110
111#endif // FMTYLD_Hm_included
Base edge properties of a FMTGraph, holding the action of the edge.
Definition: FMTBaseEdgeProperties.h:31
Definition: FMTBaseVertexProperties.h:33
Edge properties of a FMTGraph, extending the base edge properties with a variable id and a proportion...
Definition: FMTEdgeProperties.h:24
Adapter pointing to a vertex of a line graph or a full graph and its model, used to answer a generic ...
Definition: FMTGraphVertexToYield.h:31
FMTGraphVertexToYield(const Models::FMTModel &model, const FMTGraph< FMTBaseVertexProperties, FMTBaseEdgeProperties > &linegraph, const void *lvertex)
Construct a FMTGraphVertexToYield from a model, a line graph and a vertex.
const Models::FMTModel * getModel() const
Return the model.
FMTGraphVertexToYield(const Models::FMTModel &model, const FMTGraph< FMTVertexProperties, FMTEdgeProperties > &fullgraph, const void *lvertex)
Construct a FMTGraphVertexToYield from a model, a full graph and a vertex.
const void * getVertexPtr() const
Return a pointer to the vertex.
Definition: FMTGraphVertexToYield.h:84
const FMTGraph< FMTBaseVertexProperties, FMTBaseEdgeProperties > *const getLineGraph() const
Return the line graph, or nullptr if the adapter points to a full graph.
FMTGraphVertexToYield & operator=(const FMTGraphVertexToYield &rhs)=default
Copy assignment operator for FMTGraphVertexToYield.
FMTGraphVertexToYield(const FMTGraphVertexToYield &rhs)=default
Copy constructor for FMTGraphVertexToYield.
FMTGraphVertexToYield()
Default constructor for FMTGraphVertexToYield.
const FMTGraph< FMTVertexProperties, FMTEdgeProperties > *const getFullGraph() const
Return the full graph, or nullptr if the adapter points to a line graph.
Definition: FMTGraphVertexToYield.h:20
Vertex properties of a FMTGraph, extending the base vertex properties with a constraint id.
Definition: FMTVertexProperties.h:33
Base class for the different models in FMT.
Definition: FMTModel.h:62
Definition: FMTAreaParser.h:35
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTAreaParser.h:54