22 .description(
"Path to a OpenVDB file");
37 bke::volume_grid::file_cache::GridsFromFile grids_from_file =
38 bke::volume_grid::file_cache::get_all_grids_from_file(*path);
39 if (!grids_from_file.error_message.empty()) {
46 BKE_volume_metadata_set(*volume, grids_from_file.file_meta_data);
47 for (bke::GVolumeGrid &grid : grids_from_file.grids) {
void * BKE_id_new_nomain(short type, const char *name)
void BKE_volume_grid_add(Volume *volume, const blender::bke::VolumeGridData &grid)
#define NOD_REGISTER_NODE(REGISTER_FUNC)
T extract_input(StringRef identifier)
void error_message_add(const NodeWarningType type, StringRef message) const
void set_output(StringRef identifier, T &&value)
std::optional< std::string > ensure_absolute_path(StringRefNull path) const
void set_default_remaining_outputs()
std::optional< std::string > path_filter
void node_register_type(bNodeType &ntype)
static void node_declare(NodeDeclarationBuilder &b)
static void node_register()
static void node_geo_exec(GeoNodeExecParams params)
void node_geo_exec_with_missing_openvdb(GeoNodeExecParams ¶ms)
void geo_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
std::string ui_description
NodeGeometryExecFunction geometry_node_execute
NodeDeclareFunction declare
static GeometrySet from_volume(Volume *volume, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)