[Bf-blender-cvs] [143a81cccea] master: Geometry Nodes: Allow int attribute input fields with single value
Hans Goudey
noreply at git.blender.org
Tue Jun 15 23:38:36 CEST 2021
Commit: 143a81ccceaf7d3abccc5a9dd4bb3520813dd222
Author: Hans Goudey
Date: Tue Jun 15 16:38:28 2021 -0500
Branches: master
https://developer.blender.org/rB143a81ccceaf7d3abccc5a9dd4bb3520813dd222
Geometry Nodes: Allow int attribute input fields with single value
Just like the way we often have a choice between an attribute input and
a single float, this adds the ability to choose between attribute and
integer input sockets, useful for D11421.
===================================================================
M source/blender/makesrna/intern/rna_nodetree.c
M source/blender/nodes/geometry/node_geometry_util.cc
===================================================================
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 87bfb554611..f996f60a166 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -464,6 +464,10 @@ static EnumPropertyItem rna_node_geometry_mesh_circle_fill_type_items[] = {
{ \
GEO_NODE_ATTRIBUTE_INPUT_COLOR, "COLOR", 0, "Color", "" \
}
+#define ITEM_INTEGER \
+ { \
+ GEO_NODE_ATTRIBUTE_INPUT_INTEGER, "INTEGER", 0, "Integer", "" \
+ }
#define ITEM_BOOLEAN \
{ \
GEO_NODE_ATTRIBUTE_INPUT_BOOLEAN, "BOOLEAN", 0, "Boolean", "" \
@@ -475,6 +479,7 @@ static const EnumPropertyItem rna_node_geometry_attribute_input_type_items_any[]
ITEM_FLOAT,
ITEM_VECTOR,
ITEM_COLOR,
+ ITEM_INTEGER,
ITEM_BOOLEAN,
{0, NULL, 0, NULL, NULL},
};
@@ -497,6 +502,11 @@ static const EnumPropertyItem rna_node_geometry_attribute_input_type_items_float
ITEM_FLOAT,
{0, NULL, 0, NULL, NULL},
};
+static const EnumPropertyItem rna_node_geometry_attribute_input_type_items_int[] = {
+ ITEM_ATTRIBUTE,
+ ITEM_INTEGER,
+ {0, NULL, 0, NULL, NULL},
+};
static const EnumPropertyItem rna_node_geometry_attribute_input_type_items_no_boolean[] = {
ITEM_ATTRIBUTE,
ITEM_FLOAT,
diff --git a/source/blender/nodes/geometry/node_geometry_util.cc b/source/blender/nodes/geometry/node_geometry_util.cc
index 93cada2982b..46e9d36c09c 100644
--- a/source/blender/nodes/geometry/node_geometry_util.cc
+++ b/source/blender/nodes/geometry/node_geometry_util.cc
@@ -47,6 +47,7 @@ void update_attribute_input_socket_availabilities(bNode &node,
name_is_available &&
((socket->type == SOCK_STRING && mode_ == GEO_NODE_ATTRIBUTE_INPUT_ATTRIBUTE) ||
(socket->type == SOCK_FLOAT && mode_ == GEO_NODE_ATTRIBUTE_INPUT_FLOAT) ||
+ (socket->type == SOCK_INT && mode_ == GEO_NODE_ATTRIBUTE_INPUT_INTEGER) ||
(socket->type == SOCK_VECTOR && mode_ == GEO_NODE_ATTRIBUTE_INPUT_VECTOR) ||
(socket->type == SOCK_RGBA && mode_ == GEO_NODE_ATTRIBUTE_INPUT_COLOR));
nodeSetSocketAvailability(socket, socket_is_available);
More information about the Bf-blender-cvs
mailing list