Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdgar Roman Cervantes <redvant>2021-02-20 01:03:14 +0300
committerHans Goudey <h.goudey@me.com>2021-02-20 01:03:14 +0300
commita961a2189cb38ffb368d6781aa57177bfefe0e36 (patch)
tree9fe23cadf50386676c42655e2b02e61144694384 /source/blender/blenkernel/intern/node.cc
parentee1c674775fd60352502f4d6062dbd4637865f9d (diff)
Geometry Nodes: Add string input node
This commit adds a simple string input node, intended for use in the attribute workflow to make using the same attribute name in multiple places easier. The node is function node similar to the existing vector input node. Ref T84971 Differential Revision: https://developer.blender.org/D10316
Diffstat (limited to 'source/blender/blenkernel/intern/node.cc')
-rw-r--r--source/blender/blenkernel/intern/node.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 228d3e0d825..b96adce7cca 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -523,6 +523,13 @@ void ntreeBlendWrite(BlendWriter *writer, bNodeTree *ntree)
BLO_write_struct_by_name(writer, node->typeinfo->storagename, node->storage);
MEM_SAFE_FREE(nc->matte_id);
}
+ else if (node->type == FN_NODE_INPUT_STRING) {
+ NodeInputString *storage = (NodeInputString *)node->storage;
+ if (storage->string) {
+ BLO_write_string(writer, storage->string);
+ }
+ BLO_write_struct_by_name(writer, node->typeinfo->storagename, storage);
+ }
else if (node->typeinfo != &NodeTypeUndefined) {
BLO_write_struct_by_name(writer, node->typeinfo->storagename, node->storage);
}
@@ -685,6 +692,11 @@ void ntreeBlendReadData(BlendDataReader *reader, bNodeTree *ntree)
iuser->scene = nullptr;
break;
}
+ case FN_NODE_INPUT_STRING: {
+ NodeInputString *storage = (NodeInputString *)node->storage;
+ BLO_read_data_address(reader, &storage->string);
+ break;
+ }
default:
break;
}
@@ -4806,6 +4818,7 @@ static void registerFunctionNodes()
register_node_type_fn_combine_strings();
register_node_type_fn_float_compare();
register_node_type_fn_group_instance_id();
+ register_node_type_fn_input_string();
register_node_type_fn_input_vector();
register_node_type_fn_object_transforms();
register_node_type_fn_random_float();