[Bf-blender-cvs] [b6c2deef05c] blender-v3.0-release: Fix T92662: Curve to mesh start cap invalid topology
Hans Goudey
noreply at git.blender.org
Mon Nov 1 19:14:52 CET 2021
Commit: b6c2deef05cbaa015c74a0c5b1b0451686de49f6
Author: Hans Goudey
Date: Mon Nov 1 13:13:44 2021 -0500
Branches: blender-v3.0-release
https://developer.blender.org/rBb6c2deef05cbaa015c74a0c5b1b0451686de49f6
Fix T92662: Curve to mesh start cap invalid topology
rBbe3e09ecec5372f switched the order for vertices referenced by the
start cap's corners, but it failed to account for the offset necessary
for edge indices, since the order changed.
===================================================================
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 cd40d5e8a41..ed4af2bbb08 100644
--- a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
+++ b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
@@ -202,7 +202,9 @@ static void spline_extrude_to_mesh_data(const ResultInfo &info,
const int i_inv = info.profile_edge_len - i - 1;
MLoop &loop_start = r_loops[cap_loop_offset + i];
loop_start.v = info.vert_offset + i_inv;
- loop_start.e = profile_edges_start + i_inv;
+ loop_start.e = profile_edges_start + ((i == (info.profile_edge_len - 1)) ?
+ (info.profile_edge_len - 1) :
+ (i_inv - 1));
MLoop &loop_end = r_loops[cap_loop_offset + info.profile_edge_len + i];
loop_end.v = last_ring_vert_offset + i;
loop_end.e = last_ring_edge_offset + i;
More information about the Bf-blender-cvs
mailing list