Geometry Nodes: don't show grease pencil materials for now

Those materials cannot be on geometry handled by geometry nodes yet.
So it makes sense not to show those materials in the material socket.
This commit is contained in:
Jacques Lucke 2021-05-19 11:44:10 +02:00
parent 5e6f3b8564
commit 7adb415070
1 changed files with 11 additions and 0 deletions

View File

@ -4455,6 +4455,13 @@ void rna_ShaderNodePointDensity_density_minmax(bNode *self,
RE_point_density_minmax(depsgraph, pd, r_min, r_max);
}
bool rna_NodeSocketMaterial_default_value_poll(PointerRNA *UNUSED(ptr), PointerRNA value)
{
/* Do not show grease pencil materials for now. */
Material *ma = (Material *)value.data;
return ma->gp_style == NULL;
}
#else
static const EnumPropertyItem prop_image_layer_items[] = {
@ -10674,6 +10681,8 @@ static void rna_def_node_socket_material(BlenderRNA *brna,
prop = RNA_def_property(srna, "default_value", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "value");
RNA_def_property_struct_type(prop, "Material");
RNA_def_property_pointer_funcs(
prop, NULL, NULL, NULL, "rna_NodeSocketMaterial_default_value_poll");
RNA_def_property_ui_text(prop, "Default Value", "Input value used for unconnected socket");
RNA_def_property_update(
prop, NC_NODE | NA_EDITED, "rna_NodeSocketStandard_value_and_relation_update");
@ -10689,6 +10698,8 @@ static void rna_def_node_socket_material(BlenderRNA *brna,
prop = RNA_def_property(srna, "default_value", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "value");
RNA_def_property_struct_type(prop, "Material");
RNA_def_property_pointer_funcs(
prop, NULL, NULL, NULL, "rna_NodeSocketMaterial_default_value_poll");
RNA_def_property_ui_text(prop, "Default Value", "Input value used for unconnected socket");
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocketInterface_update");
}