Class JSONStateReader

Inheritance Relationships

Base Type

Class Documentation

class flamegpu::io::JSONStateReader : public flamegpu::io::StateReader

JSON format StateReader

Public Functions

JSONStateReader(const std::string &model_name, const std::unordered_map<std::string, EnvironmentDescription::PropData> &env_desc, util::StringUint32PairUnorderedMap<util::Any> &env_init, util::StringPairUnorderedMap<std::shared_ptr<AgentVector>> &model_state, const std::string &input_file, Simulation *sim_instance)

Constructs a reader capable of reading model state from JSON files Environment properties will be read into the Simulation instance pointed to by ‘sim_instance_id’ Agent data will be read into ‘model_state’

Parameters
  • model_name – Name from the model description hierarchy of the model to be loaded

  • env_desc – Environment description for validating property data on load

  • env_init – Dictionary of loaded values map:<{name, index}, value>

  • model_state – Map of AgentVector to load the agent data into per agent, key should be agent name

  • input_file – Filename of the input file (This will be used to determine which reader to return)

  • sim_instance – Instance of the Simulation object (This is used for setting/getting config)

virtual int parse() override

Actual performs the XML parsing to load the model state

Throws

exception::RapidJSONError – If parsing of the input file fails

Returns

Always 0