8#ifndef FMTbasevertexproperties_Hm_included
9#define FMTbasevertexproperties_Hm_included
13#include <boost/serialization/serialization.hpp>
14#include <boost/functional/hash.hpp>
15#include <boost/serialization/export.hpp>
16#include <boost/serialization/nvp.hpp>
22 class FMTActualDevelopment;
23 class FMTFuturDevelopment;
130 friend class boost::serialization::access;
131 template<
class Archive>
132 void serialize(Archive& ar,
unsigned int version)
134 double area = getBaseRhs();
135 ar& BOOST_SERIALIZATION_NVP(*m_development);
136 ar& BOOST_SERIALIZATION_NVP(area);
137 if (Archive::is_saving::value)
144 std::unique_ptr<Core::FMTDevelopment> m_development;
150 void _save(
double p_area);
161 struct hash<
Graph::FMTBaseVertexProperties>
165 return vertex_properties.
hash();
#define FMTEXPORT
Definition: FMTutility.h:125
Child class of FMTDevelopment representing an actual forest stand, holding the area of the stand.
Definition: FMTActualDevelopment.h:24
Base class of FMTActualDevelopment and FMTFuturDevelopment representing a forest stand.
Definition: FMTDevelopment.h:44
Child class of FMTDevelopment representing a future stand generated by growth or transition,...
Definition: FMTFuturDevelopment.h:23
Core class holding, as a boost dynamic bitset, which theme attributes are part of a mask.
Definition: FMTMask.h:96
Definition: FMTBaseVertexProperties.h:33
size_t hash() const
Hash the development of the vertex.
FMTBaseVertexProperties(const FMTBaseVertexProperties &rhs)
Copy constructor for FMTBaseVertexProperties.
double getBaseRhs() const
Get the right hand side of the constraint of the vertex.
virtual ~FMTBaseVertexProperties()=default
Default virtual destructor for FMTBaseVertexProperties.
FMTBaseVertexProperties(const Core::FMTFuturDevelopment &p_development)
Construct a FMTBaseVertexProperties from a futur development.
void setDevlopementMask(const Core::FMTMask &p_newMask)
Set the development mask of the vertex.
FMTBaseVertexProperties(const Core::FMTActualDevelopment &p_development)
Construct a FMTBaseVertexProperties from an actual development.
FMTBaseVertexProperties()=default
Default constructor for FMTBaseVertexProperties.
virtual int getConstraintId() const
Get the index of the constraint of the vertex.
const Core::FMTDevelopment & get() const
Get a const reference to the development of the vertex.
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34
Definition: FMTAreaParser.h:35
Definition: FMTAction.h:463
std::size_t operator()(const Graph::FMTBaseVertexProperties &vertex_properties) const
Definition: FMTBaseVertexProperties.h:163