Fix: Edge Slide: Vertex destination not matching edges intersection
Before version 4.1, the vertex destination during edge sliding for two independent edges was always the midpoint of the vertices closest to those edges. In version 4.1, this behavior was improved to calculate the destination based on the intersection of the edges. However, when the faces were coplanar, the behavior would revert to the previous midpoint calculation instead of using the intersection. This fix ensures that the vertex destination consistently aligns with the intersection point, even when the faces are coplanar.
This commit is contained in:
@@ -2605,8 +2605,8 @@ Array<TransDataEdgeSlideVert> transform_mesh_edge_slide_data_create(const TransD
|
||||
float3 &dst2 = dst;
|
||||
float3 &dst3 = next.fdata[best_dir].dst;
|
||||
float3 isect0, isect1;
|
||||
if (isect_line_line_epsilon_v3(dst0, dst1, dst2, dst3, isect0, isect1, FLT_EPSILON) ==
|
||||
2)
|
||||
if (isect_line_line_epsilon_v3(dst0, dst1, dst2, dst3, isect0, isect1, FLT_EPSILON) !=
|
||||
0)
|
||||
{
|
||||
curr.fdata[best_dir].dst = math::midpoint(isect0, isect1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user