fixing py tutorials
fixing runtime errors introduced by updating to pybind 2.2
Former-commit-id: ac4ffe2434
This commit is contained in:
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ C = igl.eigen.MatrixXd()
|
||||
igl.readOFF(TUTORIAL_SHARED_PATH + "screwdriver.off", V, F)
|
||||
|
||||
# Plot the mesh
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
|
||||
# Use the z coordinate as a scalar field over the surface
|
||||
Z = V.col(2)
|
||||
@@ -35,7 +35,7 @@ Z = V.col(2)
|
||||
igl.jet(Z, True, C)
|
||||
|
||||
# Add per-vertex colors
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
# Launch the viewer
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -41,43 +41,43 @@ V_box = igl.eigen.MatrixXd(
|
||||
]
|
||||
)
|
||||
|
||||
E_box = igl.eigen.MatrixXi(
|
||||
[
|
||||
[0, 1],
|
||||
[1, 2],
|
||||
[2, 3],
|
||||
[3, 0],
|
||||
[4, 5],
|
||||
[5, 6],
|
||||
[6, 7],
|
||||
[7, 4],
|
||||
[0, 4],
|
||||
[1, 5],
|
||||
[2, 6],
|
||||
[7, 3]
|
||||
]
|
||||
)
|
||||
E_box = igl.eigen.MatrixXd(
|
||||
[
|
||||
[0, 1],
|
||||
[1, 2],
|
||||
[2, 3],
|
||||
[3, 0],
|
||||
[4, 5],
|
||||
[5, 6],
|
||||
[6, 7],
|
||||
[7, 4],
|
||||
[0, 4],
|
||||
[1, 5],
|
||||
[2, 6],
|
||||
[7, 3]
|
||||
]
|
||||
).castint()
|
||||
|
||||
# Plot the mesh
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
|
||||
# Plot the corners of the bounding box as points
|
||||
viewer.data.add_points(V_box, igl.eigen.MatrixXd([[1, 0, 0]]))
|
||||
viewer.data().add_points(V_box, igl.eigen.MatrixXd([[1, 0, 0]]))
|
||||
|
||||
# Plot the edges of the bounding box
|
||||
for i in range(0, E_box.rows()):
|
||||
viewer.data.add_edges(
|
||||
viewer.data().add_edges(
|
||||
V_box.row(E_box[i, 0]),
|
||||
V_box.row(E_box[i, 1]),
|
||||
igl.eigen.MatrixXd([[1, 0, 0]]))
|
||||
|
||||
# Plot labels with the coordinates of bounding box vertices
|
||||
l1 = 'x: ' + str(m[0, 0]) + ' y: ' + str(m[0, 1]) + ' z: ' + str(m[0, 2])
|
||||
viewer.data.add_label(m.transpose(), l1)
|
||||
viewer.data().add_label(m.transpose(), l1)
|
||||
|
||||
l2 = 'x: ' + str(M[0, 0]) + ' y: ' + str(M[0, 1]) + ' z: ' + str(M[0, 2])
|
||||
viewer.data.add_label(M.transpose(), l2)
|
||||
viewer.data().add_label(M.transpose(), l2)
|
||||
|
||||
# Launch the viewer
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -28,13 +28,13 @@ N_corners = igl.eigen.MatrixXd()
|
||||
# This function is called every time a keyboard button is pressed
|
||||
def key_pressed(viewer, key, modifier):
|
||||
if key == ord('1'):
|
||||
viewer.data.set_normals(N_faces)
|
||||
viewer.data().set_normals(N_faces)
|
||||
return True
|
||||
elif key == ord('2'):
|
||||
viewer.data.set_normals(N_vertices)
|
||||
viewer.data().set_normals(N_vertices)
|
||||
return True
|
||||
elif key == ord('3'):
|
||||
viewer.data.set_normals(N_corners)
|
||||
viewer.data().set_normals(N_corners)
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -55,11 +55,11 @@ N_corners = igl.eigen.MatrixXd()
|
||||
igl.per_corner_normals(V, F, 20, N_corners)
|
||||
|
||||
# Plot the mesh
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.callback_key_pressed = key_pressed
|
||||
viewer.core.show_lines = False
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.set_normals(N_faces)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().set_normals(N_faces)
|
||||
print("Press '1' for per-face normals.")
|
||||
print("Press '2' for per-vertex normals.")
|
||||
print("Press '3' for per-corner normals.")
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ C = igl.eigen.MatrixXd()
|
||||
igl.jet(K, True, C)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().set_colors(C)
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -50,14 +50,14 @@ igl.principal_curvature(V, F, PD1, PD2, PV1, PV2)
|
||||
# Mean curvature
|
||||
H = 0.5 * (PV1 + PV2)
|
||||
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
|
||||
# Compute pseudocolor
|
||||
C = igl.eigen.MatrixXd()
|
||||
igl.parula(H, True, C)
|
||||
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
# Average edge length for sizing
|
||||
avg = igl.avg_edge_length(V, F)
|
||||
@@ -66,12 +66,12 @@ avg = igl.avg_edge_length(V, F)
|
||||
red = igl.eigen.MatrixXd([[0.8, 0.2, 0.2]])
|
||||
blue = igl.eigen.MatrixXd([[0.2, 0.2, 0.8]])
|
||||
|
||||
viewer.data.add_edges(V + PD1 * avg, V - PD1 * avg, blue)
|
||||
viewer.data().add_edges(V + PD1 * avg, V - PD1 * avg, blue)
|
||||
|
||||
# Draw a red segment parallel to the maximal curvature direction
|
||||
viewer.data.add_edges(V + PD2 * avg, V - PD2 * avg, red)
|
||||
viewer.data().add_edges(V + PD2 * avg, V - PD2 * avg, red)
|
||||
|
||||
# Hide wireframe
|
||||
viewer.core.show_lines = False
|
||||
viewer.data().show_lines = False
|
||||
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -38,8 +38,8 @@ GU = (G * U).MapMatrix(F.rows(), 3)
|
||||
# Compute gradient magnitude
|
||||
GU_mag = GU.rowwiseNorm()
|
||||
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
|
||||
# Compute pseudocolor for original function
|
||||
C = igl.eigen.MatrixXd()
|
||||
@@ -49,7 +49,7 @@ igl.jet(U, True, C)
|
||||
# Or for gradient magnitude
|
||||
# igl.jet(GU_mag,True,C)
|
||||
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
# Average edge length divided by average gradient (for scaling)
|
||||
max_size = igl.avg_edge_length(V, F) / GU_mag.mean()
|
||||
@@ -59,9 +59,9 @@ BC = igl.eigen.MatrixXd()
|
||||
igl.barycenter(V, F, BC)
|
||||
|
||||
black = igl.eigen.MatrixXd([[0.0, 0.0, 0.0]])
|
||||
viewer.data.add_edges(BC, BC + max_size * GU, black)
|
||||
viewer.data().add_edges(BC, BC + max_size * GU, black)
|
||||
|
||||
# Hide wireframe
|
||||
viewer.core.show_lines = False
|
||||
viewer.data().show_lines = False
|
||||
|
||||
viewer.launch()
|
||||
|
||||
@@ -14,7 +14,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ U = igl.eigen.MatrixXd()
|
||||
F = igl.eigen.MatrixXi()
|
||||
|
||||
L = igl.eigen.SparseMatrixd()
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer = igl.glfw.Viewer()
|
||||
|
||||
# Load a mesh in OFF format
|
||||
igl.readOFF(TUTORIAL_SHARED_PATH + "cow.off", V, F)
|
||||
@@ -97,8 +97,8 @@ def key_pressed(viewer, key, modifier):
|
||||
return False
|
||||
|
||||
# Send new positions, update normals, recenter
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().compute_normals()
|
||||
viewer.core.align_camera_center(U, F)
|
||||
return True
|
||||
|
||||
@@ -110,8 +110,8 @@ C = N.rowwiseNormalized() * 0.5 + 0.5
|
||||
|
||||
# Initialize smoothing with base mesh
|
||||
U = V
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_mesh(U, F)
|
||||
viewer.data().set_colors(C)
|
||||
viewer.callback_key_pressed = key_pressed
|
||||
|
||||
print("Press [space] to smooth.")
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
V = igl.eigen.MatrixXd()
|
||||
@@ -44,7 +44,7 @@ R = igl.eigen.MatrixXd([[1.0, 0.3, 0.3]]).replicate(K.rows(), 1)
|
||||
igl.slice_into(R, K, 1, C)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().set_colors(C)
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ C = igl.eigen.MatrixXd()
|
||||
igl.jet(J.castdouble(), True, C)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().set_colors(C)
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
V = igl.eigen.MatrixXd()
|
||||
@@ -82,8 +82,8 @@ C = igl.eigen.MatrixXd()
|
||||
igl.jet(Z, True, C)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.core.show_lines = False
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().set_colors(C)
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ igl.readOFF(TUTORIAL_SHARED_PATH + "cheburashka.off", V, F)
|
||||
|
||||
# Two fixed points
|
||||
# Left hand, left foot
|
||||
b = igl.eigen.MatrixXi([[4331], [5957]])
|
||||
b = igl.eigen.MatrixXd([[4331], [5957]]).castint()
|
||||
bc = igl.eigen.MatrixXd([[1], [-1]])
|
||||
|
||||
# Construct Laplacian and mass matrix
|
||||
@@ -82,10 +82,10 @@ igl.jet(Z, min_z, max_z, C)
|
||||
igl.jet(Z_const, min_z, max_z, C_const)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.core.show_lines = False
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
|
||||
def key_down(viewer, key, mode):
|
||||
@@ -93,9 +93,9 @@ def key_down(viewer, key, mode):
|
||||
global toggle, C, C_const
|
||||
|
||||
if toggle:
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
else:
|
||||
viewer.data.set_colors(C_const)
|
||||
viewer.data().set_colors(C_const)
|
||||
|
||||
toggle = not toggle
|
||||
return True
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ def solve(viewer):
|
||||
|
||||
C = igl.eigen.MatrixXd()
|
||||
igl.jet(Z, 0, 1, C)
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
|
||||
def key_down(viewer, key, mod):
|
||||
@@ -65,13 +65,13 @@ F = igl.eigen.MatrixXi()
|
||||
igl.readOFF(TUTORIAL_SHARED_PATH + "cheburashka.off", V, F)
|
||||
|
||||
# Plot the mesh
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.core.show_lines = False
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().show_lines = False
|
||||
viewer.callback_key_down = key_down
|
||||
|
||||
# One fixed point on belly
|
||||
b = igl.eigen.MatrixXi([[2556]])
|
||||
b = igl.eigen.MatrixXd([[2556]]).castint()
|
||||
bc = igl.eigen.MatrixXd([[1]])
|
||||
|
||||
# Construct Laplacian and mass matrix
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ if not igl.eigs(L, M, k + 1, igl.EIGS_TYPE_SM, U, D):
|
||||
|
||||
U = (U - U.minCoeff()) / (U.maxCoeff() - U.minCoeff())
|
||||
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer = igl.glfw.Viewer()
|
||||
|
||||
|
||||
def key_down(viewer, key, mod):
|
||||
@@ -63,14 +63,14 @@ def key_down(viewer, key, mod):
|
||||
if twod:
|
||||
V.setcol(2, Z)
|
||||
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().compute_normals()
|
||||
viewer.data().set_colors(C)
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
viewer.callback_key_down = key_down
|
||||
viewer.callback_key_down(viewer, ord(' '), 0)
|
||||
viewer.core.show_lines = False
|
||||
viewer.data().show_lines = False
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
bc_frac = 1.0
|
||||
@@ -47,8 +47,8 @@ def pre_draw(viewer):
|
||||
else:
|
||||
igl.harmonic(V, F, b, U_bc_anim, 2, U)
|
||||
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().compute_normals()
|
||||
return False
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ igl.readDMAT(TUTORIAL_SHARED_PATH + "decimated-max-selection.dmat", S)
|
||||
|
||||
S = S.castint()
|
||||
|
||||
b = igl.eigen.MatrixXi([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose()
|
||||
b = igl.eigen.MatrixXd([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose().castint()
|
||||
|
||||
# Boundary conditions directly on deformed positions
|
||||
U_bc.resize(b.rows(), V.cols())
|
||||
@@ -104,10 +104,10 @@ for f in range(0, F.rows()):
|
||||
C.setRow(f, gold)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer.core.show_lines = False
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(U, F)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().set_colors(C)
|
||||
# viewer.core.trackball_angle = igl.eigen.Quaterniond(sqrt(2.0),0,sqrt(2.0),0)
|
||||
# viewer.core.trackball_angle.normalize()
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -41,8 +41,8 @@ def pre_draw(viewer):
|
||||
resolve = False
|
||||
|
||||
U.setCol(2, z_max * Z)
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().compute_normals()
|
||||
|
||||
if viewer.core.is_animating:
|
||||
z_max += z_dir
|
||||
@@ -77,7 +77,7 @@ 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())]
|
||||
in_b = [is_outer[i] or is_inner[i] for i in range(0, len(is_outer))]
|
||||
|
||||
b = igl.eigen.MatrixXi([[i for i in range(0, V.rows()) if (in_b[i])]]).transpose()
|
||||
b = igl.eigen.MatrixXd([[i for i in range(0, V.rows()) if (in_b[i])]]).transpose().castint()
|
||||
|
||||
bc.resize(b.size(), 1)
|
||||
|
||||
@@ -96,10 +96,10 @@ for f in range(0, F.rows()):
|
||||
C.setRow(f, gold)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer.core.show_lines = False
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(U, F)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().set_colors(C)
|
||||
viewer.core.trackball_angle = igl.eigen.Quaterniond(0.81,-0.58,-0.03,-0.03)
|
||||
viewer.core.trackball_angle.normalize()
|
||||
viewer.callback_pre_draw = pre_draw
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@ def pre_draw(viewer):
|
||||
BET = igl.eigen.MatrixXi()
|
||||
igl.deform_skeleton(C, BE, T, CT, BET)
|
||||
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.set_edges(CT, BET, sea_green)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().set_edges(CT, BET, sea_green)
|
||||
viewer.data().compute_normals()
|
||||
anim_t += anim_t_dir
|
||||
anim_t_dir *= -1.0 if (0.0 >= anim_t or anim_t >= 1.0) else 1.0
|
||||
|
||||
@@ -76,7 +76,7 @@ def set_color(viewer):
|
||||
global selected, W
|
||||
C = igl.eigen.MatrixXd()
|
||||
igl.jet(W.col(selected), True, C)
|
||||
viewer.data.set_colors(C)
|
||||
viewer.data().set_colors(C)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -137,13 +137,13 @@ if __name__ == "__main__":
|
||||
igl.lbs_matrix(V, W, M)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(U, F)
|
||||
set_color(viewer)
|
||||
viewer.data.set_edges(C, BE, sea_green)
|
||||
viewer.core.show_lines = False
|
||||
viewer.core.show_overlay_depth = False
|
||||
viewer.core.line_width = 1
|
||||
viewer.data().set_edges(C, BE, sea_green)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().show_overlay_depth = False
|
||||
viewer.data().line_width = 1
|
||||
viewer.core.trackball_angle.normalize()
|
||||
viewer.callback_pre_draw = pre_draw
|
||||
viewer.callback_key_down = key_down
|
||||
|
||||
@@ -16,7 +16,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -57,9 +57,9 @@ def pre_draw(viewer):
|
||||
BET = igl.eigen.MatrixXi()
|
||||
igl.deform_skeleton(C, BE, T, CT, BET)
|
||||
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.set_edges(CT, BET, sea_green)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().set_edges(CT, BET, sea_green)
|
||||
viewer.data().compute_normals()
|
||||
if viewer.core.is_animating:
|
||||
anim_t += anim_t_dir
|
||||
else:
|
||||
@@ -132,12 +132,12 @@ if __name__ == "__main__":
|
||||
igl.lbs_matrix(V, W, M)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer.data.set_edges(C, BE, sea_green)
|
||||
viewer.core.show_lines = False
|
||||
viewer.core.show_overlay_depth = False
|
||||
viewer.core.line_width = 1
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(U, F)
|
||||
viewer.data().set_edges(C, BE, sea_green)
|
||||
viewer.data().show_lines = False
|
||||
viewer.data().show_overlay_depth = False
|
||||
viewer.data().line_width = 1
|
||||
viewer.core.trackball_angle.normalize()
|
||||
viewer.callback_pre_draw = pre_draw
|
||||
viewer.callback_key_down = key_down
|
||||
|
||||
@@ -14,7 +14,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ def pre_draw(viewer):
|
||||
bc[i, 0] += r * sin(0.35 * anim_t * 2. * pi)
|
||||
|
||||
igl.arap_solve(bc, arap_data, U)
|
||||
viewer.data.set_vertices(U)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().set_vertices(U)
|
||||
viewer.data().compute_normals()
|
||||
|
||||
if viewer.core.is_animating:
|
||||
anim_t += anim_t_dir
|
||||
@@ -77,7 +77,7 @@ igl.readDMAT(TUTORIAL_SHARED_PATH + "decimated-knight-selection.dmat", S)
|
||||
|
||||
# Vertices in selection
|
||||
|
||||
b = igl.eigen.MatrixXi([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose()
|
||||
b = igl.eigen.MatrixXd([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose().castint()
|
||||
|
||||
# Centroid
|
||||
mid = 0.5 * (V.colwiseMaxCoeff() + V.colwiseMinCoeff())
|
||||
@@ -98,9 +98,9 @@ for f in range(0, F.rows()):
|
||||
C.setRow(f, gold)
|
||||
|
||||
# Plot the mesh with pseudocolors
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(U, F)
|
||||
viewer.data.set_colors(C)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(U, F)
|
||||
viewer.data().set_colors(C)
|
||||
viewer.callback_pre_draw = pre_draw
|
||||
viewer.callback_key_down = key_down
|
||||
viewer.core.is_animating = True
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ V_uv = igl.eigen.MatrixXd()
|
||||
def key_down(viewer, key, modifier):
|
||||
if key == ord('1'):
|
||||
# Plot the 3D mesh
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.core.align_camera_center(V, F)
|
||||
elif key == ord('2'):
|
||||
# Plot the mesh in 2D using the UV coordinates as vertex coordinates
|
||||
viewer.data.set_mesh(V_uv, F)
|
||||
viewer.data().set_mesh(V_uv, F)
|
||||
viewer.core.align_camera_center(V_uv, F)
|
||||
viewer.data.compute_normals()
|
||||
viewer.data().compute_normals()
|
||||
return False
|
||||
|
||||
|
||||
@@ -53,16 +53,16 @@ igl.harmonic(V, F, bnd, bnd_uv, 1, V_uv)
|
||||
V_uv *= 5
|
||||
|
||||
# Plot the mesh
|
||||
viewer = igl.viewer.Viewer()
|
||||
viewer.data.set_mesh(V, F)
|
||||
viewer.data.set_uv(V_uv)
|
||||
viewer = igl.glfw.Viewer()
|
||||
viewer.data().set_mesh(V, F)
|
||||
viewer.data().set_uv(V_uv)
|
||||
viewer.callback_key_down = key_down
|
||||
|
||||
# Disable wireframe
|
||||
viewer.core.show_lines = False
|
||||
viewer.data().show_lines = False
|
||||
|
||||
# Draw checkerboard texture
|
||||
viewer.core.show_texture = True
|
||||
viewer.data().show_texture = True
|
||||
|
||||
# Launch the viewer
|
||||
viewer.launch()
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import pyigl as igl
|
||||
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ sys.path.insert(0, os.getcwd() + "/../")
|
||||
import pyigl as igl
|
||||
from shared import TUTORIAL_SHARED_PATH, check_dependencies
|
||||
|
||||
dependencies = ["viewer"]
|
||||
dependencies = ["glfw"]
|
||||
check_dependencies(dependencies)
|
||||
|
||||
# Input mesh
|
||||
|
||||
Reference in New Issue
Block a user