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:
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.
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue