14 if (nlohmann_json_t.mesh_name_path.has_value()) {
15 nlohmann_json_j[
"mesh_name_path"] = nlohmann_json_t.mesh_name_path.value();
22 nlohmann_json_j[
"position_attribute"] = std::visit(
23 [](
const auto& attr) -> std::string {
24 using T = std::decay_t<decltype(attr)>;
25 if constexpr (std::is_same_v<std::string, T>) {
28 return attr.mesh().get_attribute_name(attr.handle());
31 nlohmann_json_t.position_attribute);
35 if (nlohmann_json_j.is_string()) {
36 nlohmann_json_t.file = nlohmann_json_j.get<std::filesystem::path>();
38 nlohmann_json_t.file = nlohmann_json_j[
"file"].get<std::filesystem::path>();
40 if (nlohmann_json_j.contains(
"type")) {
41 nlohmann_json_t.type = nlohmann_json_j[
"type"];
43 nlohmann_json_t.type = nlohmann_json_t.file.extension().string();
45 "Guessing extension type of [{}] is [{}]",
47 nlohmann_json_t.type);
49 if (nlohmann_json_j.contains(
"position_attribute")) {
50 nlohmann_json_t.position_attribute = nlohmann_json_j[
"position_attribute"];
53 if (nlohmann_json_j.contains(
"mesh_name_path")) {
54 nlohmann_json_t.mesh_name_path = nlohmann_json_j[
"mesh_name_path"].get<std::filesystem::path>();
#define WMTK_NLOHMANN_ASSIGN_TYPE_TO_JSON(...)
WMTK_NLOHMANN_JSON_FRIEND_TO_JSON_PROTOTYPE(OutputOptions)
WMTK_NLOHMANN_JSON_FRIEND_FROM_JSON_PROTOTYPE(OutputOptions)
spdlog::logger & logger()
Retrieves the current logger.