[Bf-blender-cvs] [0a31b1f044f] temp-geometry-nodes-fields-prototype: initial attribute field

Jacques Lucke noreply at git.blender.org
Wed Jul 28 14:14:21 CEST 2021


Commit: 0a31b1f044f9061cbffffe6d1c545f2916b572dd
Author: Jacques Lucke
Date:   Tue Jul 27 16:01:37 2021 +0200
Branches: temp-geometry-nodes-fields-prototype
https://developer.blender.org/rB0a31b1f044f9061cbffffe6d1c545f2916b572dd

initial attribute field

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

M	source/blender/nodes/geometry/nodes/node_geo_attribute.cc
M	source/blender/nodes/intern/node_geometry_exec.cc

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_attribute.cc b/source/blender/nodes/geometry/nodes/node_geo_attribute.cc
index a62e4cb51e9..9da9ea3d83f 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_attribute.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_attribute.cc
@@ -83,10 +83,9 @@ static void geo_node_attribute_exec(GeoNodeExecParams params)
 
   const CPPType *cpp_type = get_cpp_type((eNodeSocketDatatype)node_storage->output_type);
   BLI_assert(cpp_type != nullptr);
-  std::unique_ptr<bke::Field> field =
-      std::make_unique<bke::GVArrayInputField<bke::AttributeFieldInputKey>>(std::move(name),
-                                                                            *cpp_type);
-  // params.set_output("Attribute", std::move(field));
+  bke::FieldPtr field = new bke::GVArrayInputField<bke::AttributeFieldInputKey>(std::move(name),
+                                                                                *cpp_type);
+  params.set_output("Attribute", bke::FieldRef<float>(std::move(field)));
 }
 
 }  // namespace blender::nodes
diff --git a/source/blender/nodes/intern/node_geometry_exec.cc b/source/blender/nodes/intern/node_geometry_exec.cc
index 8ec1516cb60..bd2b47d0e56 100644
--- a/source/blender/nodes/intern/node_geometry_exec.cc
+++ b/source/blender/nodes/intern/node_geometry_exec.cc
@@ -259,12 +259,12 @@ void GeoNodeExecParams::check_output_access(StringRef identifier, const CPPType
     BLI_assert_unreachable();
   }
   else {
-    const CPPType &expected_type = *socket_cpp_type_get(*found_socket->typeinfo);
-    if (value_type != expected_type) {
-      std::cout << "The value type '" << value_type.name() << "' is incorrect. Expected '"
-                << expected_type.name() << "'.\n";
-      BLI_assert_unreachable();
-    }
+    // const CPPType &expected_type = *socket_cpp_type_get(*found_socket->typeinfo);
+    // if (value_type != expected_type) {
+    //   std::cout << "The value type '" << value_type.name() << "' is incorrect. Expected '"
+    //             << expected_type.name() << "'.\n";
+    //   BLI_assert_unreachable();
+    // }
   }
 }



More information about the Bf-blender-cvs mailing list