fixing py tutorials

fixing runtime errors introduced by updating to pybind 2.2


Former-commit-id: ac4ffe2434
This commit is contained in:
Daniele Panozzo
2018-02-14 16:05:19 -04:00
parent 9732b91f13
commit 53ee86a4ab
27 changed files with 155 additions and 151 deletions
+4 -4
View File
@@ -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()
+23 -23
View File
@@ -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()
+8 -8
View File
@@ -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.")
+4 -4
View File
@@ -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()
+7 -7
View File
@@ -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()
+6 -6
View File
@@ -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()
+6 -6
View File
@@ -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.")
+4 -4
View File
@@ -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()
+4 -4
View File
@@ -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()
+5 -5
View File
@@ -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
+6 -6
View File
@@ -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
+6 -6
View File
@@ -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()
+8 -8
View File
@@ -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
+11 -11
View File
@@ -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
+10 -10
View File
@@ -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
+7 -7
View File
@@ -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
+9 -9
View File
@@ -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()
+1 -1
View File
@@ -13,7 +13,7 @@ import pyigl as igl
from shared import TUTORIAL_SHARED_PATH, check_dependencies
dependencies = ["viewer"]
dependencies = ["glfw"]
check_dependencies(dependencies)
+1 -1
View File
@@ -13,7 +13,7 @@ import pyigl as igl
from shared import TUTORIAL_SHARED_PATH, check_dependencies
dependencies = ["viewer"]
dependencies = ["glfw"]
check_dependencies(dependencies)
+1 -1
View File
@@ -13,7 +13,7 @@ import pyigl as igl
from shared import TUTORIAL_SHARED_PATH, check_dependencies
dependencies = ["viewer"]
dependencies = ["glfw"]
check_dependencies(dependencies)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -14,7 +14,7 @@ import pyigl as igl
from shared import TUTORIAL_SHARED_PATH, check_dependencies
dependencies = ["viewer"]
dependencies = ["glfw"]
check_dependencies(dependencies)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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