Class SubEnvironmentDescription
Defined in File SubEnvironmentDescription.h
Inheritance Relationships
Base Type
public flamegpu::CSubEnvironmentDescription
(Class CSubEnvironmentDescription)
Class Documentation
-
class SubEnvironmentDescription : public flamegpu::CSubEnvironmentDescription
This class provides an interface to a mapping between a parent and submodel’s environment properties
Public Functions
Constructor, creates an interface to the SubEnvironmentData Constructors
- Parameters:
data – Data store of this subenvironment’s data
-
SubEnvironmentDescription(const SubEnvironmentDescription &other_agent) = default
Copy constructor Creates a new interface to the same SubEnvironmentData/ModelData
-
SubEnvironmentDescription(SubEnvironmentDescription &&other_agent) = default
-
SubEnvironmentDescription &operator=(const SubEnvironmentDescription &other_agent) = default
Assignment operator Assigns this interface to the same SubEnvironmentData/ModelData
-
SubEnvironmentDescription &operator=(SubEnvironmentDescription &&other_agent) = default
-
void autoMap()
Automatically map all compatible properties and macro properties In order to be compatible, properties must share the same name, type, dimensions/length (number of elements) Const master properties cannot be mapped to non-const sub properties, however the inverse is permitted
-
void autoMapProperties()
Automatically map all compatible properties In order to be compatible, properties must share the same name, type, length (number of elements) Const master properties cannot be mapped to non-const sub properties, however the inverse is permitted
-
void autoMapMacroProperties()
Automatically map all compatible macro properties In order to be compatible, properties must share the same name, type, dimensions
-
void mapProperty(const std::string &sub_property_name, const std::string &master_property_name)
Links the named properties between the master and sub environment In order to be compatible, properties must share the same name, type, length (number of elements) Const master properties cannot be mapped to non-const sub properties, however the inverse is permitted
- Parameters:
sub_property_name – Name of the property in the sub models agent
master_property_name – Name of the property in the master models agent
- Throws:
exception::InvalidParent – If the sub agent or master agent weak_ptrs have expired (this should never happen)
exception::InvalidEnvProperty – If the named property does not exist within the bound sub or master environment
exception::InvalidEnvProperty – If the named properties do not share the same type and length
-
void mapMacroProperty(const std::string &sub_property_name, const std::string &master_property_name)
Links the named macro properties between the master and sub environment In order to be compatible, macro properties must share the same name, type, dimensions
- Parameters:
sub_property_name – Name of the macro property in the sub models agent
master_property_name – Name of the macro property in the master models agent
- Throws:
exception::InvalidParent – If the sub agent or master agent weak_ptrs have expired (this should never happen)
exception::InvalidEnvProperty – If the named macro property does not exist within the bound sub or master environment
exception::InvalidEnvProperty – If the named macro properties do not share the same type and length