28 if (!
params.user_data()->call_data->operator_data) {
30 params.set_default_remaining_outputs();
47 "Input grid is not a valid level set. Use a signed distance field grid as input");
48 params.set_default_remaining_outputs();
109 params.set_default_remaining_outputs();
111 TIP_(
"Disabled, Blender was compiled without OpenVDB"));
116 params.set_default_remaining_outputs();
124 const char **r_disabled_hint)
127 *r_disabled_hint =
RPT_(
"Not a geometry node tree");
135 const std::optional<int16_t> legacy_type)
145 const char **r_disabled_hint)
147 if (!
STR_ELEM(ntree->
idname,
"GeometryNodeTree",
"CompositorNodeTree")) {
148 *r_disabled_hint =
RPT_(
"Not a geometry or compositor node tree");
156 const std::optional<int16_t> legacy_type)
void node_type_base(bNodeType &ntype, std::string idname, std::optional< int16_t > legacy_type=std::nullopt)
std::optional< eNodeSocketDatatype > grid_type_to_socket_type(VolumeGridType type)
bool generic_attribute_type_supported(const EnumPropertyItem &item)
const EnumPropertyItem * attribute_type_type_with_socket_fn(bContext *, PointerRNA *, PropertyRNA *, bool *r_free)
void search_link_ops_for_tool_node(GatherLinkSearchOpParams ¶ms)
void search_link_ops_for_basic_node(GatherLinkSearchOpParams ¶ms)
bool check_tool_context_and_error(GeoNodeExecParams ¶ms)
const EnumPropertyItem * grid_socket_type_items_filter_fn(bContext *, PointerRNA *, PropertyRNA *, bool *r_free)
const EnumPropertyItem * grid_data_type_socket_items_filter_fn(bContext *, PointerRNA *, PropertyRNA *, bool *r_free)
void node_geo_sdf_grid_error_not_levelset(GeoNodeExecParams ¶ms)
void node_geo_exec_with_missing_openvdb(GeoNodeExecParams ¶ms)
bool socket_type_supports_grids(const eNodeSocketDatatype socket_type)
const EnumPropertyItem * enum_items_filter(const EnumPropertyItem *original_item_array, FunctionRef< bool(const EnumPropertyItem &item)> fn)
void node_geo_exec_with_too_old_openvdb(GeoNodeExecParams ¶ms)
void geo_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
static bool geo_cmp_node_poll_default(const blender::bke::bNodeType *, const bNodeTree *ntree, const char **r_disabled_hint)
void geo_cmp_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
bool geo_node_poll_default(const blender::bke::bNodeType *, const bNodeTree *ntree, const char **r_disabled_hint)
bool node_insert_link_default(blender::bke::NodeInsertLinkParams &)
const EnumPropertyItem rna_enum_attribute_type_items[]
const EnumPropertyItem rna_enum_node_socket_data_type_items[]
const EnumPropertyItem rna_enum_volume_grid_data_type_items[]
bool(* insert_link)(NodeInsertLinkParams ¶ms)
bool(* poll)(const bNodeType *ntype, const bNodeTree *nodetree, const char **r_disabled_hint)
NodeGatherSocketLinkOperationsFunction gather_link_search_ops