43 const std::string &parent_name,
44 const std::vector<std::string> &required_entries)
51 std::tuple<std::string,const WorldBuilder::Types::Interface &, std::string>
54 "Whether the value should replace any value previously defined at this location (replace), " 55 "add the value to the previously define value (add) or subtract the value to the previously " 56 "define value (subtract)." 71 std::unique_ptr<Interface>
74 std::string lower_case_name;
75 std::transform(name.begin(),
77 std::back_inserter(lower_case_name),
83 "Internal error: Plugin with name '" << lower_case_name <<
"' is not found. "
static std::map< std::string, void(*)(Parameters &, const std::string &)> & get_declare_map()
static void declare_entries(Parameters &prm, const std::string &parent_name, const std::vector< std::string > &required_entries)
static std::unique_ptr< Interface > create(const std::string &name, WorldBuilder::World *world)
WorldBuilder::World * world
static std::map< std::string, ObjectFactory * > & get_factory_map()
#define WBAssertThrow(condition, message)
void declare_model_entries(const std::string &model_group_name, const std::string &parent_name, const std::map< std::string, void(*)(Parameters &, const std::string &)> &declare_map, const std::vector< std::string > &required_entries={}, const std::vector< std::tuple< std::string, const WorldBuilder::Types::Interface &, std::string > > &extra_declarations={})
static void registerType(const std::string &name, void(*)(Parameters &, const std::string &), ObjectFactory *factory)