[Bf-blender-cvs] [95d64038f40] temp-attribute-processor: show domain

Jacques Lucke noreply at git.blender.org
Thu May 27 12:51:41 CEST 2021


Commit: 95d64038f404a1498a1cdb30e51d99b878a7ea7c
Author: Jacques Lucke
Date:   Mon May 24 17:22:10 2021 +0200
Branches: temp-attribute-processor
https://developer.blender.org/rB95d64038f404a1498a1cdb30e51d99b878a7ea7c

show domain

===================================================================

M	source/blender/makesdna/DNA_node_types.h
M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc

===================================================================

diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 133928ba0de..03eb26efeb2 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -1359,7 +1359,8 @@ typedef struct NodeGeometryAttributeTransfer {
 } NodeGeometryAttributeTransfer;
 
 typedef struct NodeGeometryAttributeProcessor {
-  char test;
+  /* AttributeDomain. */
+  int8_t domain;
 } NodeGeometryAttributeProcessor;
 
 /* script node mode */
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 9596919eab9..b5088510a3d 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -4462,7 +4462,7 @@ bool rna_NodeSocketMaterial_default_value_poll(PointerRNA *UNUSED(ptr), PointerR
   return ma->gp_style == NULL;
 }
 
-static bool rna_GeometrNodeAttributeProcessor_node_tree_poll(PointerRNA *ptr,
+static bool rna_GeometrNodeAttributeProcessor_node_tree_poll(PointerRNA *UNUSED(ptr),
                                                              const PointerRNA value)
 {
   bNodeTree *ngroup = value.data;
@@ -9892,6 +9892,14 @@ static void def_geo_attribute_processor(StructRNA *srna)
   RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
   RNA_def_property_ui_text(prop, "Node Tree", "");
   RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeGroup_update");
+
+  RNA_def_struct_sdna_from(srna, "NodeGeometryAttributeProcessor", "storage");
+
+  prop = RNA_def_property(srna, "domain", PROP_ENUM, PROP_NONE);
+  RNA_def_property_enum_items(prop, rna_enum_attribute_domain_items);
+  RNA_def_property_enum_default(prop, ATTR_DOMAIN_POINT);
+  RNA_def_property_ui_text(prop, "Domain", "The geometry domain to process attributes in");
+  RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
 }
 
 /* -------------------------------------------------------------------------- */
diff --git a/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc b/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
index 5a99f0fc469..51ec5f32da5 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
@@ -35,6 +35,8 @@ static void geo_node_attribute_processor_layout(uiLayout *layout, bContext *C, P
   uiTemplateIDBrowse(
       row, C, ptr, "node_tree", nullptr, nullptr, nullptr, UI_TEMPLATE_ID_FILTER_ALL, nullptr);
   uiItemStringO(row, "", ICON_PLUS, "node.new_attribute_processor_group", "node_name", node->name);
+
+  uiItemR(layout, ptr, "domain", 0, "Domain", ICON_NONE);
 }
 
 static void geo_node_attribute_processor_init(bNodeTree *UNUSED(ntree), bNode *node)
@@ -51,8 +53,8 @@ static void geo_node_attribute_processor_group_update(bNodeTree *ntree, bNode *n
 {
   if (node->id == nullptr) {
     nodeRemoveAllSockets(ntree, node);
-    nodeAddSocket(ntree, node, SOCK_IN, "NodeSocketGeometry", "geometry", "Geometry");
-    nodeAddSocket(ntree, node, SOCK_OUT, "NodeSocketGeometry", "geometry", "Geometry");
+    nodeAddSocket(ntree, node, SOCK_IN, "NodeSocketGeometry", "Geometry", "Geometry");
+    nodeAddSocket(ntree, node, SOCK_OUT, "NodeSocketGeometry", "Geometry", "Geometry");
     return;
   }
   if ((ID_IS_LINKED(node->id) && (node->id->tag & LIB_TAG_MISSING))) {
@@ -61,8 +63,8 @@ static void geo_node_attribute_processor_group_update(bNodeTree *ntree, bNode *n
     return;
   }
   nodeRemoveAllSockets(ntree, node);
-  nodeAddSocket(ntree, node, SOCK_IN, "NodeSocketGeometry", "geometry", "Geometry");
-  nodeAddSocket(ntree, node, SOCK_OUT, "NodeSocketGeometry", "geometry", "Geometry");
+  nodeAddSocket(ntree, node, SOCK_IN, "NodeSocketGeometry", "Geometry", "Geometry");
+  nodeAddSocket(ntree, node, SOCK_OUT, "NodeSocketGeometry", "Geometry", "Geometry");
 
   bNodeTree *ngroup = (bNodeTree *)node->id;
   LISTBASE_FOREACH (bNodeSocket *, interface_sock, &ngroup->inputs) {
@@ -86,10 +88,7 @@ static void geo_node_attribute_processor_group_update(bNodeTree *ntree, bNode *n
 static void geo_node_attribute_processor_exec(GeoNodeExecParams params)
 {
   GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
-  GeometrySet geometry_set_target = params.extract_input<GeometrySet>("Target");
-
   geometry_set = geometry_set_realize_instances(geometry_set);
-
   params.set_output("Geometry", geometry_set);
 }



More information about the Bf-blender-cvs mailing list