Fix T61309: mesh_utils.triangle_random_points fails with a TypeError

Caused by an error in rBe65784a0519e.
And since we are going over loop triangles anyways, we can remove the
part quecking for quads [remainder of tessface era] entirely.

Reviewers: campbellbarton

Maniphest Tasks: T61309

Differential Revision: https://developer.blender.org/D4324
This commit is contained in:
Philipp Oeser 2019-02-08 13:08:01 +01:00
parent 813800f143
commit 6e2da0883f
Notes: blender-bot 2023-02-14 19:19:58 +01:00
Referenced by issue blender/blender-addons#61309, mesh_utils.triangle_random_points fails with a TypeError.
1 changed files with 3 additions and 16 deletions

View File

@ -454,19 +454,6 @@ def triangle_random_points(num_points, loop_triangles):
tv = (verts[ltv[0]].co, verts[ltv[1]].co, verts[ltv[2]].co)
for k in range(num_points):
# If this is a quad, we need to weight its 2 tris by their area
if len(tv) != 1:
area1 = area_tri(*tv[0])
area2 = area_tri(*tv[1])
area_tot = area1 + area2
area1 = area1 / area_tot
area2 = area2 / area_tot
vecs = tv[0 if (random() < area1) else 1]
else:
vecs = tv[0]
u1 = random()
u2 = random()
u_tot = u1 + u2
@ -475,10 +462,10 @@ def triangle_random_points(num_points, loop_triangles):
u1 = 1.0 - u1
u2 = 1.0 - u2
side1 = vecs[1] - vecs[0]
side2 = vecs[2] - vecs[0]
side1 = tv[1] - tv[0]
side2 = tv[2] - tv[0]
p = vecs[0] + u1 * side1 + u2 * side2
p = tv[0] + u1 * side1 + u2 * side2
sampled_points[num_points * i + k] = p