Commit: 5fce94f8253b73325f34758b3f0b3257e467b4e5
Author: Hans Goudey
Date:   Wed Jan 4 22:46:50 2023 -0500
Branches: refactor-mesh-sharp-edge-generic
https://developer.blender.org/rB5fce94f8253b73325f34758b3f0b3257e467b4e5

Move code to make diff smaller

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

M       source/blender/blenkernel/intern/curve_to_mesh_convert.cc

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

diff --git a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc 
b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
index 9a14ab26ce2..fc9da6b7e6c 100644
--- a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
+++ b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
@@ -716,10 +716,34 @@ Mesh *curve_to_mesh_sweep(const CurvesGeometry &main,
                         verts.slice(info.vert_range));
   });
 
-  Set<AttributeIDRef> main_attributes_set;
-
   MutableAttributeAccessor mesh_attributes = mesh->attributes_for_write();
 
+  SpanAttributeWriter<bool> sharp_edges;
+  write_sharp_bezier_edges(curves_info, offsets, mesh_attributes, sharp_edges);
+  if (fill_caps) {
+    if (!sharp_edges) {
+      sharp_edges = 
mesh_attributes.lookup_or_add_for_write_span<bool>(".sharp_edge",
+                                                                       
ATTR_DOMAIN_EDGE);
+    }
+    foreach_curve_combination(curves_info, offsets, [&](const CombinationInfo 
&info) {
+      if (info.main_cyclic || !info.profile_cyclic) {
+        return;
+      }
+      const int main_edges_start = info.edge_range.start();
+      const int last_ring_index = info.main_points.size() - 1;
+      const int profile_edges_start = main_edges_start +
+                                      info.profile_points.size() * 
info.main_segment_num;
+      const int last_ring_edge_offset = profile_edges_start +
+                                        info.profile_segment_num * 
last_ring_index;
+
+      sharp_edges.span.slice(profile_edges_start, 
info.profile_segment_num).fill(true);
+      sharp_edges.span.slice(last_ring_edge_offset, 
info.profile_segment_num).fill(true);
+    });
+  }
+  sharp_edges.finish();
+
+  Set<AttributeIDRef> main_attributes_set;
+
   main_attributes.for_all([&](const AttributeIDRef &id, const 
AttributeMetaData meta_data) {
     if (!should_add_attribute_to_mesh(main_attributes, mesh_attributes, id, 
meta_data)) {
       return true;
@@ -789,30 +813,6 @@ Mesh *curve_to_mesh_sweep(const CurvesGeometry &main,
     return true;
   });
 
-  SpanAttributeWriter<bool> sharp_edges;
-  write_sharp_bezier_edges(curves_info, offsets, mesh_attributes, sharp_edges);
-  if (fill_caps) {
-    if (!sharp_edges) {
-      sharp_edges = 
mesh_attributes.lookup_or_add_for_write_span<bool>(".sharp_edge",
-                                                                       
ATTR_DOMAIN_EDGE);
-    }
-    foreach_curve_combination(curves_info, offsets, [&](const CombinationInfo 
&info) {
-      if (info.main_cyclic || !info.profile_cyclic) {
-        return;
-      }
-      const int main_edges_start = info.edge_range.start();
-      const int last_ring_index = info.main_points.size() - 1;
-      const int profile_edges_start = main_edges_start +
-                                      info.profile_points.size() * 
info.main_segment_num;
-      const int last_ring_edge_offset = profile_edges_start +
-                                        info.profile_segment_num * 
last_ring_index;
-
-      sharp_edges.span.slice(profile_edges_start, 
info.profile_segment_num).fill(true);
-      sharp_edges.span.slice(last_ring_edge_offset, 
info.profile_segment_num).fill(true);
-    });
-  }
-  sharp_edges.finish();
-
   return mesh;
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to