[Bf-blender-cvs] [05ef714edcf] temp-geometry-nodes-extrude-mesh: Small cleanups

Hans Goudey noreply at git.blender.org
Mon Jan 24 05:25:40 CET 2022


Commit: 05ef714edcf5282967a6c9451e6c9192c05a66e2
Author: Hans Goudey
Date:   Sun Jan 23 22:25:29 2022 -0600
Branches: temp-geometry-nodes-extrude-mesh
https://developer.blender.org/rB05ef714edcf5282967a6c9451e6c9192c05a66e2

Small cleanups

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

M	source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc
index 97237030cbb..68a42943da5 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc
@@ -39,7 +39,7 @@ static void node_declare(NodeDeclarationBuilder &b)
   b.add_input<decl::Geometry>("Mesh").supported_type(GEO_COMPONENT_TYPE_MESH);
   b.add_input<decl::Bool>(N_("Selection")).default_value(true).supports_field().hide_value();
   b.add_input<decl::Vector>(N_("Offset")).subtype(PROP_TRANSLATION).implicit_field().hide_value();
-  b.add_input<decl::Float>(N_("Offset Scale")).default_value(1.0f).supports_field();
+  b.add_input<decl::Float>(N_("Offset Scale")).default_value(1.0f).min(0.0f).supports_field();
   b.add_input<decl::Bool>(N_("Individual")).default_value(true);
   b.add_output<decl::Geometry>("Mesh");
   b.add_output<decl::Bool>(N_("Top")).field_source();
@@ -157,10 +157,6 @@ static void expand_mesh(Mesh &mesh,
     CustomData_realloc(&mesh.ldata, mesh.totloop);
   }
   BKE_mesh_update_customdata_pointers(&mesh, false);
-
-  for (MVert &vert : mesh_verts(mesh).take_back(vert_expand)) {
-    vert.flag = 0;
-  }
 }
 
 static MEdge new_edge(const int v1, const int v2)
@@ -1035,6 +1031,8 @@ static void extrude_individual_mesh_faces(MeshComponent &component,
   Span<MPoly> orig_polys = mesh_polys(mesh);
   Span<MLoop> orig_loops = mesh_loops(mesh);
 
+  /* Use a mesh for the result of the evaluation because the mesh is reallocated before
+   * the vertices are moved, and the evaluated result might reference an attribute. */
   Array<float3> poly_offset(orig_polys.size());
   GeometryComponentFieldContext poly_context{component, ATTR_DOMAIN_FACE};
   FieldEvaluator poly_evaluator{poly_context, mesh.totpoly};



More information about the Bf-blender-cvs mailing list