45 const std::optional<std::string> path =
params.ensure_absolute_path(
46 params.extract_input<std::string>(
"Path"));
48 params.set_default_remaining_outputs();
51 const std::string delimiter =
params.extract_input<std::string>(
"Delimiter");
52 if (delimiter.size() != 1) {
54 params.set_default_remaining_outputs();
57 if (
ELEM(delimiter[0],
'\n',
'\r',
'"',
'\\')) {
59 TIP_(
"Delimiter must not be \\n, \\r, \" or \\"));
60 params.set_default_remaining_outputs();
65 const std::string loader_key = fmt::format(
"import_csv_node_{}", delimiter[0]);
70 STRNCPY(import_params.filepath, path->c_str());
75 import_params.reports = &reports;
79 auto cached_value = std::make_unique<LoadCsvCache>();
83 cached_value->warnings.append_as(*report);
89 params.error_message_add(warning.type, warning.message);
92 params.set_output(
"Point Cloud", cached_value->geometry);