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:
@@ -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)
|
tv = (verts[ltv[0]].co, verts[ltv[1]].co, verts[ltv[2]].co)
|
||||||
|
|
||||||
for k in range(num_points):
|
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()
|
u1 = random()
|
||||||
u2 = random()
|
u2 = random()
|
||||||
u_tot = u1 + u2
|
u_tot = u1 + u2
|
||||||
@@ -475,10 +462,10 @@ def triangle_random_points(num_points, loop_triangles):
|
|||||||
u1 = 1.0 - u1
|
u1 = 1.0 - u1
|
||||||
u2 = 1.0 - u2
|
u2 = 1.0 - u2
|
||||||
|
|
||||||
side1 = vecs[1] - vecs[0]
|
side1 = tv[1] - tv[0]
|
||||||
side2 = vecs[2] - vecs[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
|
sampled_points[num_points * i + k] = p
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user