[Bf-blender-cvs] [b99cdf74722] master: Cleanup: use blenlib geometry functions in uv parametrizer

Chris Blackbourn noreply at git.blender.org
Tue Nov 29 23:47:06 CET 2022


Commit: b99cdf74722421fd5d4fc7c225a62a2096ba3ae6
Author: Chris Blackbourn
Date:   Wed Nov 30 11:44:13 2022 +1300
Branches: master
https://developer.blender.org/rBb99cdf74722421fd5d4fc7c225a62a2096ba3ae6

Cleanup: use blenlib geometry functions in uv parametrizer

Simplify future fix for T78101

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

M	source/blender/geometry/intern/uv_parametrizer.cc

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

diff --git a/source/blender/geometry/intern/uv_parametrizer.cc b/source/blender/geometry/intern/uv_parametrizer.cc
index c12c1443f1a..289dd4372c6 100644
--- a/source/blender/geometry/intern/uv_parametrizer.cc
+++ b/source/blender/geometry/intern/uv_parametrizer.cc
@@ -297,17 +297,6 @@ static PHashLink *phash_next(PHash *ph, PHashKey key, PHashLink *link)
   return link;
 }
 
-/* Geometry */
-
-static float p_vec_angle(const float v1[3], const float v2[3], const float v3[3])
-{
-  return angle_v3v3v3(v1, v2, v3);
-}
-static float p_vec2_angle(const float v1[2], const float v2[2], const float v3[2])
-{
-  return angle_v2v2v2(v1, v2, v3);
-}
-
 /* Angles close to 0 or 180 degrees cause rows filled with zeros in the linear_solver.
  * The matrix will then be rank deficient and / or have poor conditioning.
  * => Reduce the maximum angle to 179 degrees, and spread the remainder to the other angles.
@@ -358,9 +347,9 @@ static void fix_large_angle(const float v_fix[3],
 static void p_triangle_angles(
     const float v1[3], const float v2[3], const float v3[3], float *r_a1, float *r_a2, float *r_a3)
 {
-  *r_a1 = p_vec_angle(v3, v1, v2);
-  *r_a2 = p_vec_angle(v1, v2, v3);
-  *r_a3 = p_vec_angle(v2, v3, v1);
+  *r_a1 = angle_v3v3v3(v3, v1, v2);
+  *r_a2 = angle_v3v3v3(v1, v2, v3);
+  *r_a3 = angle_v3v3v3(v2, v3, v1);
 
   /* Fix for degenerate geometry e.g. v1 = sum(v2 + v3). See T100874 */
   fix_large_angle(v1, v2, v3, r_a1, r_a2, r_a3);
@@ -1229,7 +1218,7 @@ static float p_edge_boundary_angle(PEdge *e)
   do {
     v1 = we->next->vert;
     v2 = we->next->next->vert;
-    angle -= p_vec_angle(v1->co, v->co, v2->co);
+    angle -= angle_v3v3v3(v1->co, v->co, v2->co);
 
     we = we->next->next->pair;
     n++;
@@ -3588,7 +3577,7 @@ static float p_chart_minimum_area_angle(PChart *chart)
     p2 = points[i];
     p3 = (i == npoints - 1) ? points[0] : points[i + 1];
 
-    angles[i] = float(M_PI) - p_vec2_angle(p1->uv, p2->uv, p3->uv);
+    angles[i] = float(M_PI) - angle_v2v2v2(p1->uv, p2->uv, p3->uv);
 
     if (points[i]->uv[1] < miny) {
       miny = points[i]->uv[1];
@@ -3608,19 +3597,19 @@ static float p_chart_minimum_area_angle(PChart *chart)
 
   v[0] = points[idx[0]]->uv[0];
   v[1] = points[idx[0]]->uv[1] + 1.0f;
-  a[0] = p_vec2_angle(points[(idx[0] + 1) % npoints]->uv, points[idx[0]]->uv, v);
+  a[0] = angle_v2v2v2(points[(idx[0] + 1) % npoints]->uv, points[idx[0]]->uv, v);
 
   v[0] = points[idx[1]]->uv[0] + 1.0f;
   v[1] = points[idx[1]]->uv[1];
-  a[1] = p_vec2_angle(points[(idx[1] + 1) % npoints]->uv, points[idx[1]]->uv, v);
+  a[1] = angle_v2v2v2(points[(idx[1] + 1) % npoints]->uv, points[idx[1]]->uv, v);
 
   v[0] = points[idx[2]]->uv[0];
   v[1] = points[idx[2]]->uv[1] - 1.0f;
-  a[2] = p_vec2_angle(points[(idx[2] + 1) % npoints]->uv, points[idx[2]]->uv, v);
+  a[2] = angle_v2v2v2(points[(idx[2] + 1) % npoints]->uv, points[idx[2]]->uv, v);
 
   v[0] = points[idx[3]]->uv[0] - 1.0f;
   v[1] = points[idx[3]]->uv[1];
-  a[3] = p_vec2_angle(points[(idx[3] + 1) % npoints]->uv, points[idx[3]]->uv, v);
+  a[3] = angle_v2v2v2(points[(idx[3] + 1) % npoints]->uv, points[idx[3]]->uv, v);
 
   /* 4 rotating calipers */



More information about the Bf-blender-cvs mailing list