fixed missing memory copy in 401 and 402

This commit is contained in:
Daniele Panozzo
2015-10-01 11:00:10 +02:00
parent eb4da577dd
commit e5974db210
2 changed files with 12 additions and 25 deletions
+6 -10
View File
@@ -1,6 +1,6 @@
import igl
global bc_frac, bc_dir,deformation_field, V, U, V_bc, U_bc, F, b
bc_frac = 1.0
bc_dir = -0.03
deformation_field = False
@@ -15,7 +15,7 @@ F = igl.eigen.MatrixXi()
b = igl.eigen.MatrixXi()
def pre_draw(viewer):
global V, bc_frac, bc_dir, U, U_bc, V_bc, b, deformation_field
global bc_frac, bc_dir,deformation_field, V, U, V_bc, U_bc, F, b
# Determine boundary conditions
if (viewer.core.is_animating):
bc_frac += bc_dir
@@ -27,20 +27,16 @@ def pre_draw(viewer):
D = igl.eigen.MatrixXd()
D_bc = U_bc_anim - V_bc
igl.harmonic(V,F,b,D_bc,2,D)
U = V+D;
U = V+D
else:
D = igl.eigen.MatrixXd()
igl.harmonic(V,F,b,U_bc_anim,2,D)
U = D
# global U
# igl.harmonic(V,F,b,U_bc_anim,2,U)
igl.harmonic(V,F,b,U_bc_anim,2,U)
viewer.data.set_vertices(U)
viewer.data.compute_normals()
return False
def key_down(viewer, key, mods):
global deformation_field
global bc_frac, bc_dir,deformation_field, V, U, V_bc, U_bc, F, b
if key == ord(' '):
viewer.core.is_animating = not viewer.core.is_animating
@@ -52,7 +48,7 @@ def key_down(viewer, key, mods):
igl.readOBJ("../tutorial/shared/decimated-max.obj",V,F)
U=V
U = igl.eigen.MatrixXd(V)
# S(i) = j: j<0 (vertex i not in handle), j >= 0 (vertex i in handle j)
S = igl.eigen.MatrixXd()
+6 -15
View File
@@ -1,6 +1,6 @@
import igl
global resolve, z_max, z_dir, k, Z, V, F, b, bc, U
global z_max, z_dir, k, resolve, V, U, Z, F, b, bc
z_max = 1.0
z_dir = -0.03
@@ -19,13 +19,10 @@ b = igl.eigen.MatrixXi()
bc = igl.eigen.MatrixXd()
def pre_draw(viewer):
global resolve, z_max, z_dir, k, Z, V, F, b, bc
global z_max, z_dir, k, resolve, V, U, Z, F, b, bc
if resolve:
print k
# T = igl.eigen.MatrixXd()
igl.harmonic(V,F,b,bc,k,Z)
# Z = T # FIXME
resolve = False
U.setCol(2,z_max*Z)
@@ -39,34 +36,28 @@ def pre_draw(viewer):
return False
def key_down(viewer, key, mods):
global k, resolve
global z_max, z_dir, k, resolve, V, U, Z, F, b, bc
if key == ord(' '):
viewer.core.is_animating = not viewer.core.is_animating
elif key == ord('.'):
k = k + 1
k = (4 if k>4 else k)
print k
resolve = True
elif key == ord(','):
k = k - 1
k = (1 if k<1 else k)
print k
resolve = True
return True
igl.readOBJ("../tutorial/shared/bump-domain.obj",V,F)
U=V
U = igl.eigen.MatrixXd(V)
# Find boundary vertices outside annulus
# is_outer = (V.rowwise().norm().array()-1.0)>-1e-15
# is_inner = (V.rowwise().norm().array()-0.15)<1e-15
# in_b = is_outer.array() || is_inner.array()
#
# igl.colon_int(0,V.rows()-1,b)
# b.conservativeResize(stable_partition( b.data(), b.data()+b.size(),
# [&in_b](int i)->bool{return in_b(i);})-b.data())
Vrn = V.rowwiseNorm()
is_outer = [Vrn[i]-1.00 > -1e-15 for i in range(0,V.rows())]
is_inner = [Vrn[i]-0.15 < 1e-15 for i in range(0,V.rows())]