41 std::map<
int, std::shared_ptr<T>>& media,
42 std::vector<int>
const& material_ids_of_this_medium,
43 CreateMedium&& create_medium)
45 if (media.find(
id) != end(media))
48 "Multiple media were specified for the same material id '{:d}'. "
49 "Keep in mind, that if no material id is specified, it is assumed "
50 "to be 0 by default.",
54 if (
id == material_ids_of_this_medium[0])
56 media[id] = create_medium(
id);
60 media[id] = media[material_ids_of_this_medium[0]];