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; | ... | ... |