Commit 762835ae781f665f05381b8b3f85643ba3ded9db
1 parent
bb368c35
Exists in
casmoothing_cython
Compiling in Windows
Showing
2 changed files
with
12 additions
and
5 deletions
Show diff stats
.gitignore
invesalius/data/cy_mesh.pyx
... | ... | @@ -410,22 +410,23 @@ cdef void taubin_smooth(Mesh mesh, vector[weight_t]& weights, float l, float m, |
410 | 410 | Signal Processing Approach To Fair Surface Design". His benefeat is it |
411 | 411 | avoids surface shrinking. |
412 | 412 | """ |
413 | + cdef int s, i, nvertices | |
414 | + nvertices = mesh.vertices.shape[0] | |
413 | 415 | cdef vector[Point] D = vector[Point](mesh.vertices.shape[0]) |
414 | 416 | cdef vertex_t* vi |
415 | - cdef int s, i | |
416 | 417 | for s in xrange(steps): |
417 | - for i in prange(D.size(), nogil=True): | |
418 | + for i in prange(nvertices, nogil=True): | |
418 | 419 | D[i] = calc_d(mesh, i) |
419 | 420 | |
420 | - for i in prange(D.size(), nogil=True): | |
421 | + for i in prange(nvertices, nogil=True): | |
421 | 422 | mesh.vertices[i, 0] += weights[i]*l*D[i].x; |
422 | 423 | mesh.vertices[i, 1] += weights[i]*l*D[i].y; |
423 | 424 | mesh.vertices[i, 2] += weights[i]*l*D[i].z; |
424 | 425 | |
425 | - for i in prange(D.size(), nogil=True): | |
426 | + for i in prange(nvertices, nogil=True): | |
426 | 427 | D[i] = calc_d(mesh, i) |
427 | 428 | |
428 | - for i in prange(D.size(), nogil=True): | |
429 | + for i in prange(nvertices, nogil=True): | |
429 | 430 | mesh.vertices[i, 0] += weights[i]*m*D[i].x; |
430 | 431 | mesh.vertices[i, 1] += weights[i]*m*D[i].y; |
431 | 432 | mesh.vertices[i, 2] += weights[i]*m*D[i].z; | ... | ... |