[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