FQCtriUpper.setCol(0, FQC.col(0)) FQCtriUpper.setCol(1, FQC.col(1)) FQCtriUpper.setCol(2, FQC.col(2)) FQCtriLower.setCol(0, FQC.col(2)) FQCtriLower.setCol(1, FQC.col(3)) FQCtriLower.setCol(2, FQC.col(0)) FQCtri.setTopRows(FQCtriUpper.rows(), FQCtriUpper) FQCtri.setBottomRows(FQCtriLower.rows(), FQCtriLower) igl.slice(VQC, FQC.col(0), 1, PQC0) igl.slice(VQC, FQC.col(1), 1, PQC1) igl.slice(VQC, FQC.col(2), 1, PQC2) igl.slice(VQC, FQC.col(3), 1, PQC3) # Planarize it igl.planarize_quad_mesh(VQC, FQC, 100, 0.005, VQCplan) # Convert the planarized mesh to triangles igl.slice(VQCplan, FQC.col(0), 1, PQC0plan) igl.slice(VQCplan, FQC.col(1), 1, PQC1plan) igl.slice(VQCplan, FQC.col(2), 1, PQC2plan) igl.slice(VQCplan, FQC.col(3), 1, PQC3plan) # Launch the viewer key_down(viewer, ord('2'), 0) viewer.data().invert_normals = True viewer.data().show_lines = False viewer.callback_key_down = key_down viewer.launch()
FQCtriUpper.setCol(0, FQC.col(0)) FQCtriUpper.setCol(1, FQC.col(1)) FQCtriUpper.setCol(2, FQC.col(2)) FQCtriLower.setCol(0, FQC.col(2)) FQCtriLower.setCol(1, FQC.col(3)) FQCtriLower.setCol(2, FQC.col(0)) FQCtri.setTopRows(FQCtriUpper.rows(), FQCtriUpper) FQCtri.setBottomRows(FQCtriLower.rows(), FQCtriLower) igl.slice(VQC, FQC.col(0), 1, PQC0) igl.slice(VQC, FQC.col(1), 1, PQC1) igl.slice(VQC, FQC.col(2), 1, PQC2) igl.slice(VQC, FQC.col(3), 1, PQC3) # Planarize it igl.planarize_quad_mesh(VQC, FQC, 100, 0.005, VQCplan) # Convert the planarized mesh to triangles igl.slice(VQCplan, FQC.col(0), 1, PQC0plan) igl.slice(VQCplan, FQC.col(1), 1, PQC1plan) igl.slice(VQCplan, FQC.col(2), 1, PQC2plan) igl.slice(VQCplan, FQC.col(3), 1, PQC3plan) # Launch the viewer key_down(viewer, ord('2'), 0) viewer.core.invert_normals = True viewer.core.show_lines = False viewer.callback_key_down = key_down viewer.launch()