libigl 2.5.2.dev0__tar.gz → 2.5.4.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. libigl-2.5.4.dev0/.github/workflows/pip.yml +38 -0
  2. libigl-2.5.4.dev0/.github/workflows/wheels.yml +70 -0
  3. libigl-2.5.4.dev0/.gitignore +42 -0
  4. libigl-2.5.4.dev0/CMakeLists.txt +188 -0
  5. libigl-2.5.4.dev0/LICENSE.GPL +674 -0
  6. libigl-2.5.4.dev0/LICENSE.MPL2 +373 -0
  7. {libigl-2.5.2.dev0 → libigl-2.5.4.dev0}/PKG-INFO +16 -32
  8. {libigl-2.5.2.dev0 → libigl-2.5.4.dev0}/README.md +8 -25
  9. libigl-2.5.4.dev0/attic/copyleft/tetgen_tetrahedralize.cpp +64 -0
  10. libigl-2.5.4.dev0/attic/copyleft/triangle_triangulate.cpp +56 -0
  11. libigl-2.5.4.dev0/attic/skip/SolverStatus.cpp +4 -0
  12. libigl-2.5.4.dev0/attic/skip/WindingNumberMethod.cpp +4 -0
  13. libigl-2.5.4.dev0/attic/skip/angular_distance.cpp +56 -0
  14. libigl-2.5.4.dev0/attic/skip/canonical_quaternions.cpp +87 -0
  15. libigl-2.5.4.dev0/attic/skip/column_to_quats.cpp +53 -0
  16. libigl-2.5.4.dev0/attic/skip/comiso_nrosy.cpp +91 -0
  17. libigl-2.5.4.dev0/attic/skip/covariance_scatter_matrix.cpp +60 -0
  18. libigl-2.5.4.dev0/attic/skip/file_contents_as_string.cpp +72 -0
  19. libigl-2.5.4.dev0/attic/skip/fit_rotations.cpp +147 -0
  20. libigl-2.5.4.dev0/attic/skip/frame_field_deformer.cpp +71 -0
  21. libigl-2.5.4.dev0/attic/skip/frame_to_cross_field.cpp +61 -0
  22. libigl-2.5.4.dev0/attic/skip/frustum.cpp +64 -0
  23. libigl-2.5.4.dev0/attic/skip/group_sum_matrix.cpp +102 -0
  24. libigl-2.5.4.dev0/attic/skip/harwell_boeing.cpp +68 -0
  25. libigl-2.5.4.dev0/attic/skip/histc.cpp +143 -0
  26. libigl-2.5.4.dev0/attic/skip/hsv_to_rgb.cpp +100 -0
  27. libigl-2.5.4.dev0/attic/skip/infinite_cost_stopping_condition.cpp +88 -0
  28. libigl-2.5.4.dev0/attic/skip/intersect.cpp +59 -0
  29. libigl-2.5.4.dev0/attic/skip/invert_diag.cpp +54 -0
  30. libigl-2.5.4.dev0/attic/skip/is_planar.cpp +55 -0
  31. libigl-2.5.4.dev0/attic/skip/limit_faces.cpp +68 -0
  32. libigl-2.5.4.dev0/attic/skip/line_field_missmatch.cpp +56 -0
  33. libigl-2.5.4.dev0/attic/skip/line_search.cpp +64 -0
  34. libigl-2.5.4.dev0/attic/skip/mat_to_quat.cpp +94 -0
  35. libigl-2.5.4.dev0/attic/skip/material_colors.cpp +10 -0
  36. libigl-2.5.4.dev0/attic/skip/max_faces_stopping_condition.cpp +97 -0
  37. libigl-2.5.4.dev0/attic/skip/min_quad_dense.cpp +69 -0
  38. libigl-2.5.4.dev0/attic/skip/normalize_quat.cpp +56 -0
  39. libigl-2.5.4.dev0/attic/skip/on_boundary.cpp +104 -0
  40. libigl-2.5.4.dev0/attic/skip/opengl2_draw_beach_ball.cpp +10 -0
  41. libigl-2.5.4.dev0/attic/skip/opengl2_draw_floor.cpp +96 -0
  42. libigl-2.5.4.dev0/attic/skip/opengl2_draw_mesh.cpp +276 -0
  43. libigl-2.5.4.dev0/attic/skip/opengl2_draw_point.cpp +83 -0
  44. libigl-2.5.4.dev0/attic/skip/opengl2_draw_rectangular_marquee.cpp +52 -0
  45. libigl-2.5.4.dev0/attic/skip/opengl2_draw_skeleton_3d.cpp +118 -0
  46. libigl-2.5.4.dev0/attic/skip/opengl2_draw_skeleton_vector_graphics.cpp +159 -0
  47. libigl-2.5.4.dev0/attic/skip/opengl2_flare_textures.cpp +10 -0
  48. libigl-2.5.4.dev0/attic/skip/opengl2_model_proj_viewport.cpp +50 -0
  49. libigl-2.5.4.dev0/attic/skip/opengl2_print_gl_get.cpp +50 -0
  50. libigl-2.5.4.dev0/attic/skip/opengl2_project.cpp +136 -0
  51. libigl-2.5.4.dev0/attic/skip/opengl2_right_axis.cpp +81 -0
  52. libigl-2.5.4.dev0/attic/skip/opengl2_shine_textures.cpp +10 -0
  53. libigl-2.5.4.dev0/attic/skip/opengl2_sort_triangles.cpp +46 -0
  54. libigl-2.5.4.dev0/attic/skip/opengl2_unproject.cpp +96 -0
  55. libigl-2.5.4.dev0/attic/skip/opengl2_unproject_to_zero_plane.cpp +78 -0
  56. libigl-2.5.4.dev0/attic/skip/opengl2_up_axis.cpp +81 -0
  57. libigl-2.5.4.dev0/attic/skip/opengl2_view_axis.cpp +120 -0
  58. libigl-2.5.4.dev0/attic/skip/opengl_create_shader_program.cpp +90 -0
  59. libigl-2.5.4.dev0/attic/skip/opengl_destroy_shader_program.cpp +51 -0
  60. libigl-2.5.4.dev0/attic/skip/opengl_gl_type_size.cpp +44 -0
  61. libigl-2.5.4.dev0/attic/skip/opengl_glfw_background_window.cpp +58 -0
  62. libigl-2.5.4.dev0/attic/skip/opengl_glfw_imgui_ImGuiHelpers.cpp +93 -0
  63. libigl-2.5.4.dev0/attic/skip/opengl_init_render_to_texture.cpp +135 -0
  64. libigl-2.5.4.dev0/attic/skip/opengl_load_shader.cpp +10 -0
  65. libigl-2.5.4.dev0/attic/skip/opengl_print_program_info_log.cpp +43 -0
  66. libigl-2.5.4.dev0/attic/skip/opengl_print_shader_info_log.cpp +43 -0
  67. libigl-2.5.4.dev0/attic/skip/opengl_report_gl_error.cpp +10 -0
  68. libigl-2.5.4.dev0/attic/skip/opengl_uniform_type_to_string.cpp +46 -0
  69. libigl-2.5.4.dev0/attic/skip/ortho.cpp +64 -0
  70. libigl-2.5.4.dev0/attic/skip/parallel_transport_angles.cpp +64 -0
  71. libigl-2.5.4.dev0/attic/skip/polar_svd.cpp +79 -0
  72. libigl-2.5.4.dev0/attic/skip/polar_svd3x3.cpp +81 -0
  73. libigl-2.5.4.dev0/attic/skip/qslim_optimal_collapse_edge_callbacks.cpp +66 -0
  74. libigl-2.5.4.dev0/attic/skip/quadric_binary_plus_operator.cpp +57 -0
  75. libigl-2.5.4.dev0/attic/skip/quat_conjugate.cpp +56 -0
  76. libigl-2.5.4.dev0/attic/skip/quat_mult.cpp +57 -0
  77. libigl-2.5.4.dev0/attic/skip/quat_to_axis_angle.cpp +97 -0
  78. libigl-2.5.4.dev0/attic/skip/quat_to_mat.cpp +55 -0
  79. libigl-2.5.4.dev0/attic/skip/quats_to_column.cpp +72 -0
  80. libigl-2.5.4.dev0/attic/skip/random_quaternion.cpp +10 -0
  81. libigl-2.5.4.dev0/attic/skip/readBF.cpp +116 -0
  82. libigl-2.5.4.dev0/attic/skip/readNODE.cpp +103 -0
  83. libigl-2.5.4.dev0/attic/skip/readPLY.cpp +125 -0
  84. libigl-2.5.4.dev0/attic/skip/readSTL.cpp +133 -0
  85. libigl-2.5.4.dev0/attic/skip/rgb_to_hsv.cpp +77 -0
  86. libigl-2.5.4.dev0/attic/skip/rotate_by_quat.cpp +57 -0
  87. libigl-2.5.4.dev0/attic/skip/rotation_matrix_from_directions.cpp +57 -0
  88. libigl-2.5.4.dev0/attic/skip/snap_to_canonical_view_quat.cpp +80 -0
  89. libigl-2.5.4.dev0/attic/skip/snap_to_fixed_up.cpp +58 -0
  90. libigl-2.5.4.dev0/attic/skip/sort_angles.cpp +46 -0
  91. libigl-2.5.4.dev0/attic/skip/sort_triangles.cpp +54 -0
  92. libigl-2.5.4.dev0/attic/skip/sort_vectors_ccw.cpp +117 -0
  93. libigl-2.5.4.dev0/attic/skip/svd3x3.cpp +65 -0
  94. libigl-2.5.4.dev0/attic/skip/svd3x3_avx.cpp +64 -0
  95. libigl-2.5.4.dev0/attic/skip/svd3x3_sse.cpp +62 -0
  96. libigl-2.5.4.dev0/attic/skip/trackball.cpp +169 -0
  97. libigl-2.5.4.dev0/attic/skip/transpose_blocks.cpp +83 -0
  98. libigl-2.5.4.dev0/attic/skip/unique_rows.cpp +62 -0
  99. libigl-2.5.4.dev0/attic/skip/voxel_grid.cpp +61 -0
  100. libigl-2.5.4.dev0/attic/skip/writePLY.cpp +82 -0
  101. libigl-2.5.4.dev0/attic/skip/writeSTL.cpp +85 -0
  102. libigl-2.5.4.dev0/attic/skip/writeWRL.cpp +104 -0
  103. libigl-2.5.4.dev0/attic/todo-old/MeshBooleanType.cpp +4 -0
  104. libigl-2.5.4.dev0/attic/todo-old/NormalType.cpp +4 -0
  105. libigl-2.5.4.dev0/attic/todo-old/collapse_edge.cpp +212 -0
  106. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_assign.cpp +41 -0
  107. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_assign_scalar.cpp +261 -0
  108. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_cell_adjacency.cpp +63 -0
  109. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_closest_facet.cpp +120 -0
  110. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_complex_to_mesh.cpp +61 -0
  111. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_component_inside_component.cpp +119 -0
  112. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_convex_hull.cpp +96 -0
  113. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_delaunay_triangulation.cpp +50 -0
  114. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_extract_cells.cpp +180 -0
  115. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_extract_feature.cpp +133 -0
  116. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_fast_winding_number.cpp +118 -0
  117. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_half_space_box.cpp +154 -0
  118. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_hausdorff.cpp +65 -0
  119. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_incircle.cpp +56 -0
  120. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_insert_into_cdt.cpp +64 -0
  121. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_insphere.cpp +57 -0
  122. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_intersect_other.cpp +131 -0
  123. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_intersect_with_half_space.cpp +168 -0
  124. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_lexicographic_triangulation.cpp +50 -0
  125. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_mesh_boolean.cpp +363 -0
  126. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_mesh_boolean_type_to_funcs.cpp +61 -0
  127. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_mesh_to_cgal_triangle_list.cpp +59 -0
  128. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_mesh_to_polyhedron.cpp +60 -0
  129. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_minkowski_sum.cpp +154 -0
  130. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_order_facets_around_edge.cpp +118 -0
  131. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_order_facets_around_edges.cpp +143 -0
  132. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_orient2D.cpp +55 -0
  133. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_orient3D.cpp +56 -0
  134. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_outer_element.cpp +123 -0
  135. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_outer_facet.cpp +128 -0
  136. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_outer_hull.cpp +120 -0
  137. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_peel_outer_hull_layers.cpp +56 -0
  138. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_peel_winding_number_layers.cpp +24 -0
  139. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_piecewise_constant_winding_number.cpp +51 -0
  140. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_point_areas.cpp +118 -0
  141. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_point_mesh_squared_distance.cpp +160 -0
  142. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_point_segment_squared_distance.cpp +59 -0
  143. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_point_solid_signed_squared_distance.cpp +55 -0
  144. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_point_triangle_squared_distance.cpp +59 -0
  145. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_points_inside_component.cpp +105 -0
  146. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_polyhedron_to_mesh.cpp +58 -0
  147. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_projected_cdt.cpp +110 -0
  148. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_projected_delaunay.cpp +60 -0
  149. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_propagate_winding_numbers.cpp +133 -0
  150. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_read_triangle_mesh.cpp +58 -0
  151. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_relabel_small_immersed_cells.cpp +68 -0
  152. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_remesh_intersections.cpp +122 -0
  153. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_remesh_self_intersections.cpp +89 -0
  154. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_resolve_intersections.cpp +27 -0
  155. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_row_to_point.cpp +55 -0
  156. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_segment_segment_squared_distance.cpp +62 -0
  157. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_signed_distance_isosurface.cpp +71 -0
  158. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_snap_rounding.cpp +56 -0
  159. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_string_to_mesh_boolean_type.cpp +95 -0
  160. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_subdivide_segments.cpp +66 -0
  161. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_submesh_aabb_tree.cpp +63 -0
  162. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_triangle_triangle_squared_distance.cpp +62 -0
  163. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_trim_with_solid.cpp +66 -0
  164. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cgal_wire_mesh.cpp +116 -0
  165. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_comiso_miq.cpp +144 -0
  166. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_cork_mesh_boolean.cpp +64 -0
  167. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_marching_cubes.cpp +71 -0
  168. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_offset_surface.cpp +74 -0
  169. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_opengl2_render_to_tga.cpp +59 -0
  170. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_opengl2_texture_from_tga.cpp +55 -0
  171. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_progressive_hulls.cpp +66 -0
  172. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_progressive_hulls_cost_and_placement.cpp +78 -0
  173. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_quadprog.cpp +69 -0
  174. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_swept_volume.cpp +69 -0
  175. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_tetgen_mesh_with_skeleton.cpp +123 -0
  176. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_tetgen_read_into_tetgenio.cpp +74 -0
  177. libigl-2.5.4.dev0/attic/todo-old/copyleft/copyleft_tetgen_tetrahedralize.cpp +232 -0
  178. libigl-2.5.4.dev0/attic/todo-old/dijkstra.cpp +112 -0
  179. libigl-2.5.4.dev0/attic/todo-old/embree_bone_heat.cpp +68 -0
  180. libigl-2.5.4.dev0/attic/todo-old/embree_reorient_facets_raycast.cpp +114 -0
  181. libigl-2.5.4.dev0/attic/todo-old/fast_winding_number.cpp +210 -0
  182. libigl-2.5.4.dev0/attic/todo-old/flip_edge.cpp +68 -0
  183. libigl-2.5.4.dev0/attic/todo-old/knn.cpp +73 -0
  184. libigl-2.5.4.dev0/attic/todo-old/mosek_mosek_guarded.cpp +10 -0
  185. libigl-2.5.4.dev0/attic/todo-old/mosek_mosek_linprog.cpp +115 -0
  186. libigl-2.5.4.dev0/attic/todo-old/octree.cpp +79 -0
  187. libigl-2.5.4.dev0/attic/todo-old/per_vertex_point_to_plane_quadrics.cpp +77 -0
  188. libigl-2.5.4.dev0/attic/todo-old/png_readPNG.cpp +59 -0
  189. libigl-2.5.4.dev0/attic/todo-old/png_render_to_png.cpp +10 -0
  190. libigl-2.5.4.dev0/attic/todo-old/png_render_to_png_async.cpp +10 -0
  191. libigl-2.5.4.dev0/attic/todo-old/png_texture_from_file.cpp +57 -0
  192. libigl-2.5.4.dev0/attic/todo-old/png_texture_from_png.cpp +127 -0
  193. libigl-2.5.4.dev0/attic/todo-old/png_writePNG.cpp +59 -0
  194. libigl-2.5.4.dev0/attic/todo-old/pseudonormal_test.cpp +101 -0
  195. libigl-2.5.4.dev0/attic/todo-old/readWRL.cpp +105 -0
  196. libigl-2.5.4.dev0/attic/todo-old/remesh_along_isoline.cpp +120 -0
  197. libigl-2.5.4.dev0/attic/todo-old/seam_edges.cpp +77 -0
  198. libigl-2.5.4.dev0/attic/todo-old/shortest_edge_and_midpoint.cpp +71 -0
  199. libigl-2.5.4.dev0/attic/todo-old/squared_edge_lengths.cpp +64 -0
  200. libigl-2.5.4.dev0/attic/todo-old/straighten_seams.cpp +78 -0
  201. libigl-2.5.4.dev0/attic/todo-old/swept_volume_signed_distance.cpp +103 -0
  202. libigl-2.5.4.dev0/attic/todo-old/triangle_cdt.cpp +75 -0
  203. libigl-2.5.4.dev0/attic/todo-old/unzip_corners.cpp +76 -0
  204. libigl-2.5.4.dev0/attic/todo-old/writeBF.cpp +58 -0
  205. libigl-2.5.4.dev0/attic/todo-old/writeDMAT.cpp +99 -0
  206. libigl-2.5.4.dev0/attic/todo-old/writeMESH.cpp +111 -0
  207. libigl-2.5.4.dev0/attic/todo-old/writeTGF.cpp +79 -0
  208. libigl-2.5.4.dev0/attic/todo-old/xml_writeDAE.cpp +59 -0
  209. libigl-2.5.4.dev0/attic/todo-old/xml_write_triangle_mesh.cpp +62 -0
  210. libigl-2.5.4.dev0/classes/AABB.cpp +112 -0
  211. libigl-2.5.4.dev0/classes/classes.cpp +226 -0
  212. libigl-2.5.4.dev0/cmake/CXXFeatures.cmake +89 -0
  213. libigl-2.5.4.dev0/cmake/FindLIBIGL.cmake +37 -0
  214. libigl-2.5.4.dev0/cmake/UseColors.cmake +47 -0
  215. libigl-2.5.4.dev0/cmake/Warnings.cmake +160 -0
  216. libigl-2.5.4.dev0/include/default_types.h +32 -0
  217. libigl-2.5.4.dev0/missing.sh +75 -0
  218. libigl-2.5.4.dev0/mkdocs.yml +70 -0
  219. libigl-2.5.4.dev0/postBuild +7 -0
  220. libigl-2.5.4.dev0/priority.txt +108 -0
  221. libigl-2.5.4.dev0/pyproject.toml +61 -0
  222. libigl-2.5.4.dev0/scripts/basic_function.mako +53 -0
  223. libigl-2.5.4.dev0/scripts/blender_igl_export.py +528 -0
  224. libigl-2.5.4.dev0/scripts/generate_bindings.py +340 -0
  225. libigl-2.5.4.dev0/scripts/make_lean.py +40 -0
  226. libigl-2.5.4.dev0/scripts/parser.py +141 -0
  227. libigl-2.5.4.dev0/src/AABB.cpp +110 -0
  228. libigl-2.5.4.dev0/src/FileEncoding.cpp +15 -0
  229. libigl-2.5.4.dev0/src/MappingEnergyType.cpp +21 -0
  230. libigl-2.5.4.dev0/src/MassMatrixType.cpp +20 -0
  231. libigl-2.5.4.dev0/src/adjacency_list.cpp +38 -0
  232. libigl-2.5.4.dev0/src/adjacency_matrix.cpp +53 -0
  233. libigl-2.5.4.dev0/src/arap.cpp +93 -0
  234. libigl-2.5.4.dev0/src/average_from_edges_onto_vertices.cpp +41 -0
  235. libigl-2.5.4.dev0/src/average_onto_faces.cpp +39 -0
  236. libigl-2.5.4.dev0/src/average_onto_vertices.cpp +41 -0
  237. libigl-2.5.4.dev0/src/avg_edge_length.cpp +41 -0
  238. libigl-2.5.4.dev0/src/barycenter.cpp +37 -0
  239. libigl-2.5.4.dev0/src/barycentric_coordinates.cpp +76 -0
  240. libigl-2.5.4.dev0/src/bbw.cpp +82 -0
  241. libigl-2.5.4.dev0/src/bfs_orient.cpp +38 -0
  242. libigl-2.5.4.dev0/src/biharmonic_coordinates.cpp +55 -0
  243. libigl-2.5.4.dev0/src/bijective_composite_harmonic_mapping.cpp +65 -0
  244. libigl-2.5.4.dev0/src/blue_noise.cpp +43 -0
  245. libigl-2.5.4.dev0/src/boundary_facets.cpp +45 -0
  246. libigl-2.5.4.dev0/src/boundary_loop.cpp +48 -0
  247. libigl-2.5.4.dev0/src/bounding_box.cpp +34 -0
  248. libigl-2.5.4.dev0/src/circulation.cpp +50 -0
  249. libigl-2.5.4.dev0/src/circumradius.cpp +35 -0
  250. libigl-2.5.4.dev0/src/collapse_edge.cpp +88 -0
  251. libigl-2.5.4.dev0/src/connected_components.cpp +36 -0
  252. libigl-2.5.4.dev0/src/copyleft/cgal/convex_hull.cpp +32 -0
  253. libigl-2.5.4.dev0/src/copyleft/cgal/fast_winding_number.cpp +46 -0
  254. libigl-2.5.4.dev0/src/copyleft/cgal/intersect_other.cpp +75 -0
  255. libigl-2.5.4.dev0/src/copyleft/cgal/intersect_with_half_space.cpp +87 -0
  256. libigl-2.5.4.dev0/src/copyleft/cgal/mesh_boolean.cpp +59 -0
  257. libigl-2.5.4.dev0/src/copyleft/cgal/module.cpp +12 -0
  258. libigl-2.5.4.dev0/src/copyleft/cgal/point_areas.cpp +58 -0
  259. libigl-2.5.4.dev0/src/copyleft/cgal/remesh_self_intersections.cpp +67 -0
  260. libigl-2.5.4.dev0/src/copyleft/cgal/trim_with_solid.cpp +44 -0
  261. libigl-2.5.4.dev0/src/copyleft/module.cpp +12 -0
  262. libigl-2.5.4.dev0/src/copyleft/progressive_hulls.cpp +42 -0
  263. libigl-2.5.4.dev0/src/copyleft/tetgen/module.cpp +12 -0
  264. libigl-2.5.4.dev0/src/copyleft/tetgen/tetrahedralize.cpp +73 -0
  265. libigl-2.5.4.dev0/src/cotmatrix.cpp +75 -0
  266. libigl-2.5.4.dev0/src/cotmatrix_entries.cpp +54 -0
  267. libigl-2.5.4.dev0/src/cotmatrix_intrinsic.cpp +43 -0
  268. libigl-2.5.4.dev0/src/crouzeix_raviart_cotmatrix.cpp +41 -0
  269. libigl-2.5.4.dev0/src/crouzeix_raviart_massmatrix.cpp +43 -0
  270. libigl-2.5.4.dev0/src/cut_mesh.cpp +56 -0
  271. libigl-2.5.4.dev0/src/cut_mesh_from_singularities.cpp +37 -0
  272. libigl-2.5.4.dev0/src/cut_to_disk.cpp +48 -0
  273. libigl-2.5.4.dev0/src/cylinder.cpp +33 -0
  274. libigl-2.5.4.dev0/src/decimate.cpp +64 -0
  275. libigl-2.5.4.dev0/src/dihedral_angles.cpp +33 -0
  276. libigl-2.5.4.dev0/src/dihedral_angles_intrinsic.cpp +34 -0
  277. libigl-2.5.4.dev0/src/doublearea.cpp +91 -0
  278. libigl-2.5.4.dev0/src/dual_contouring.cpp +75 -0
  279. libigl-2.5.4.dev0/src/ears.cpp +31 -0
  280. libigl-2.5.4.dev0/src/edge_flaps.cpp +66 -0
  281. libigl-2.5.4.dev0/src/edge_lengths.cpp +40 -0
  282. libigl-2.5.4.dev0/src/edges.cpp +79 -0
  283. libigl-2.5.4.dev0/src/embree/EmbreeIntersector.cpp +58 -0
  284. libigl-2.5.4.dev0/src/embree/ambient_occlusion.cpp +71 -0
  285. libigl-2.5.4.dev0/src/embree/module.cpp +12 -0
  286. libigl-2.5.4.dev0/src/embree/reorient_facets_raycast.cpp +60 -0
  287. libigl-2.5.4.dev0/src/embree/shape_diameter_function.cpp +72 -0
  288. libigl-2.5.4.dev0/src/exact_geodesic.cpp +50 -0
  289. libigl-2.5.4.dev0/src/face_areas.cpp +32 -0
  290. libigl-2.5.4.dev0/src/facet_adjacency_matrix.cpp +34 -0
  291. libigl-2.5.4.dev0/src/facet_components.cpp +36 -0
  292. libigl-2.5.4.dev0/src/false_barycentric_subdivision.cpp +35 -0
  293. libigl-2.5.4.dev0/src/fast_winding_number.cpp +38 -0
  294. libigl-2.5.4.dev0/src/gaussian_curvature.cpp +35 -0
  295. libigl-2.5.4.dev0/src/grad.cpp +41 -0
  296. libigl-2.5.4.dev0/src/grid.cpp +32 -0
  297. libigl-2.5.4.dev0/src/harmonic.cpp +47 -0
  298. libigl-2.5.4.dev0/src/heat_geodesics.cpp +89 -0
  299. libigl-2.5.4.dev0/src/icosahedron.cpp +35 -0
  300. libigl-2.5.4.dev0/src/in_element.cpp +47 -0
  301. libigl-2.5.4.dev0/src/inradius.cpp +31 -0
  302. libigl-2.5.4.dev0/src/intrinsic_delaunay_cotmatrix.cpp +46 -0
  303. libigl-2.5.4.dev0/src/intrinsic_delaunay_triangulation.cpp +63 -0
  304. libigl-2.5.4.dev0/src/is_border_vertex.cpp +30 -0
  305. libigl-2.5.4.dev0/src/is_edge_manifold.cpp +43 -0
  306. libigl-2.5.4.dev0/src/ismember_rows.cpp +44 -0
  307. libigl-2.5.4.dev0/src/isolines.cpp +60 -0
  308. libigl-2.5.4.dev0/src/isolines_intrinsic.cpp +112 -0
  309. libigl-2.5.4.dev0/src/kelvinlets.cpp +69 -0
  310. libigl-2.5.4.dev0/src/knn.cpp +63 -0
  311. libigl-2.5.4.dev0/src/local_basis.cpp +40 -0
  312. libigl-2.5.4.dev0/src/loop.cpp +70 -0
  313. libigl-2.5.4.dev0/src/lscm.cpp +52 -0
  314. libigl-2.5.4.dev0/src/marching_cubes.cpp +90 -0
  315. libigl-2.5.4.dev0/src/massmatrix.cpp +51 -0
  316. libigl-2.5.4.dev0/src/massmatrix_intrinsic.cpp +45 -0
  317. libigl-2.5.4.dev0/src/matlab_format.cpp +93 -0
  318. libigl-2.5.4.dev0/src/min_quad_with_fixed.cpp +113 -0
  319. libigl-2.5.4.dev0/src/module.cpp +12 -0
  320. libigl-2.5.4.dev0/src/moments.cpp +44 -0
  321. libigl-2.5.4.dev0/src/noop.cpp +37 -0
  322. libigl-2.5.4.dev0/src/octree.cpp +61 -0
  323. libigl-2.5.4.dev0/src/on_boundary.cpp +38 -0
  324. libigl-2.5.4.dev0/src/orient_halfedges.cpp +41 -0
  325. libigl-2.5.4.dev0/src/oriented_facets.cpp +33 -0
  326. libigl-2.5.4.dev0/src/per_face_normals.cpp +72 -0
  327. libigl-2.5.4.dev0/src/per_vertex_normals.cpp +72 -0
  328. libigl-2.5.4.dev0/src/point_mesh_squared_distance.cpp +53 -0
  329. libigl-2.5.4.dev0/src/polar_svd.cpp +39 -0
  330. libigl-2.5.4.dev0/src/polygon_corners.cpp +66 -0
  331. libigl-2.5.4.dev0/src/polygons_to_triangles.cpp +49 -0
  332. libigl-2.5.4.dev0/src/principal_curvature.cpp +54 -0
  333. libigl-2.5.4.dev0/src/project.cpp +42 -0
  334. libigl-2.5.4.dev0/src/project_to_line.cpp +44 -0
  335. libigl-2.5.4.dev0/src/project_to_line_segment.cpp +44 -0
  336. libigl-2.5.4.dev0/src/qslim.cpp +60 -0
  337. libigl-2.5.4.dev0/src/quad_grid.cpp +46 -0
  338. libigl-2.5.4.dev0/src/random_points_on_mesh.cpp +49 -0
  339. libigl-2.5.4.dev0/src/ray_mesh_intersect.cpp +64 -0
  340. libigl-2.5.4.dev0/src/readDMAT.cpp +38 -0
  341. libigl-2.5.4.dev0/src/readMESH.cpp +45 -0
  342. libigl-2.5.4.dev0/src/readMSH.cpp +66 -0
  343. libigl-2.5.4.dev0/src/readOBJ.cpp +50 -0
  344. libigl-2.5.4.dev0/src/readOFF.cpp +46 -0
  345. libigl-2.5.4.dev0/src/read_triangle_mesh.cpp +47 -0
  346. libigl-2.5.4.dev0/src/remove_duplicate_vertices.cpp +71 -0
  347. libigl-2.5.4.dev0/src/remove_unreferenced.cpp +41 -0
  348. libigl-2.5.4.dev0/src/signed_distance.cpp +63 -0
  349. libigl-2.5.4.dev0/src/slim.cpp +78 -0
  350. libigl-2.5.4.dev0/src/split_nonmanifold.cpp +55 -0
  351. libigl-2.5.4.dev0/src/squared_edge_lengths.cpp +39 -0
  352. libigl-2.5.4.dev0/src/triangle/module.cpp +12 -0
  353. libigl-2.5.4.dev0/src/triangle/scaf.cpp +99 -0
  354. libigl-2.5.4.dev0/src/triangle/triangulate.cpp +60 -0
  355. libigl-2.5.4.dev0/src/triangle_fan.cpp +29 -0
  356. libigl-2.5.4.dev0/src/triangle_triangle_adjacency.cpp +57 -0
  357. libigl-2.5.4.dev0/src/triangulated_grid.cpp +45 -0
  358. libigl-2.5.4.dev0/src/unique_edge_map.cpp +68 -0
  359. libigl-2.5.4.dev0/src/unique_simplices.cpp +36 -0
  360. libigl-2.5.4.dev0/src/unproject.cpp +42 -0
  361. libigl-2.5.4.dev0/src/upsample.cpp +70 -0
  362. libigl-2.5.4.dev0/src/vertex_components.cpp +33 -0
  363. libigl-2.5.4.dev0/src/vertex_triangle_adjacency.cpp +76 -0
  364. libigl-2.5.4.dev0/src/volume.cpp +76 -0
  365. libigl-2.5.4.dev0/src/voxel_grid.cpp +42 -0
  366. libigl-2.5.4.dev0/src/winding_number.cpp +66 -0
  367. libigl-2.5.4.dev0/src/writeDMAT.cpp +42 -0
  368. libigl-2.5.4.dev0/src/writeMESH.cpp +44 -0
  369. libigl-2.5.4.dev0/src/writeMSH.cpp +58 -0
  370. libigl-2.5.4.dev0/src/writeOBJ.cpp +63 -0
  371. libigl-2.5.4.dev0/src/writePLY.cpp +97 -0
  372. libigl-2.5.4.dev0/src/write_triangle_mesh.cpp +59 -0
  373. libigl-2.5.4.dev0/tests/test_all.py +553 -0
  374. libigl-2.5.4.dev0/tutorial/contributing.md +48 -0
  375. libigl-2.5.4.dev0/tutorial/exporter.py +304 -0
  376. libigl-2.5.4.dev0/tutorial/igl_docs.md +3058 -0
  377. libigl-2.5.4.dev0/tutorial/images/102_DrawMesh.png +0 -0
  378. libigl-2.5.4.dev0/tutorial/images/104_Colors.png +0 -0
  379. libigl-2.5.4.dev0/tutorial/images/105_Overlays.png +0 -0
  380. libigl-2.5.4.dev0/tutorial/images/106_ViewerMenu.png +0 -0
  381. libigl-2.5.4.dev0/tutorial/images/501_HarmonicParam.png +0 -0
  382. libigl-2.5.4.dev0/tutorial/images/502_LSCMParam.png +0 -0
  383. libigl-2.5.4.dev0/tutorial/images/503_ARAPParam.png +0 -0
  384. libigl-2.5.4.dev0/tutorial/images/504_nrosy_field.png +0 -0
  385. libigl-2.5.4.dev0/tutorial/images/504_vector_field.png +0 -0
  386. libigl-2.5.4.dev0/tutorial/images/505_MIQ_1.png +0 -0
  387. libigl-2.5.4.dev0/tutorial/images/505_MIQ_2.png +0 -0
  388. libigl-2.5.4.dev0/tutorial/images/505_MIQ_3.png +0 -0
  389. libigl-2.5.4.dev0/tutorial/images/505_MIQ_4.png +0 -0
  390. libigl-2.5.4.dev0/tutorial/images/505_MIQ_5.png +0 -0
  391. libigl-2.5.4.dev0/tutorial/images/505_MIQ_6.png +0 -0
  392. libigl-2.5.4.dev0/tutorial/images/505_MIQ_7.png +0 -0
  393. libigl-2.5.4.dev0/tutorial/images/505_MIQ_8.png +0 -0
  394. libigl-2.5.4.dev0/tutorial/images/506_FrameField_1.png +0 -0
  395. libigl-2.5.4.dev0/tutorial/images/506_FrameField_2.png +0 -0
  396. libigl-2.5.4.dev0/tutorial/images/506_FrameField_3.png +0 -0
  397. libigl-2.5.4.dev0/tutorial/images/506_FrameField_4.png +0 -0
  398. libigl-2.5.4.dev0/tutorial/images/507_PolyVectorField.png +0 -0
  399. libigl-2.5.4.dev0/tutorial/images/508_ConjugateField.png +0 -0
  400. libigl-2.5.4.dev0/tutorial/images/509_Planarization.png +0 -0
  401. libigl-2.5.4.dev0/tutorial/images/510_Integrable.png +0 -0
  402. libigl-2.5.4.dev0/tutorial/images/511_PolyVectorFieldGeneral.png +0 -0
  403. libigl-2.5.4.dev0/tutorial/images/602_Matlab_1.png +0 -0
  404. libigl-2.5.4.dev0/tutorial/images/602_Matlab_2.png +0 -0
  405. libigl-2.5.4.dev0/tutorial/images/604_Triangle.png +0 -0
  406. libigl-2.5.4.dev0/tutorial/images/605_Tetgen.png +0 -0
  407. libigl-2.5.4.dev0/tutorial/images/606_AmbientOcclusion.png +0 -0
  408. libigl-2.5.4.dev0/tutorial/images/607_Picking.png +0 -0
  409. libigl-2.5.4.dev0/tutorial/images/608_LIM.png +0 -0
  410. libigl-2.5.4.dev0/tutorial/images/712_beetles.jpg +0 -0
  411. libigl-2.5.4.dev0/tutorial/images/713_ShapeUp.png +0 -0
  412. libigl-2.5.4.dev0/tutorial/images/VF.pdf +1251 -3
  413. libigl-2.5.4.dev0/tutorial/images/VF.png +0 -0
  414. libigl-2.5.4.dev0/tutorial/images/arm-dqs.jpg +0 -0
  415. libigl-2.5.4.dev0/tutorial/images/armadillo-fast.jpg +0 -0
  416. libigl-2.5.4.dev0/tutorial/images/armadillo-marching-cubes.jpg +0 -0
  417. libigl-2.5.4.dev0/tutorial/images/background.gif +0 -0
  418. libigl-2.5.4.dev0/tutorial/images/beetle-eigen-decomposition.gif +0 -0
  419. libigl-2.5.4.dev0/tutorial/images/big-sigcat-winding-number.gif +0 -0
  420. libigl-2.5.4.dev0/tutorial/images/bump-k-harmonic.jpg +0 -0
  421. libigl-2.5.4.dev0/tutorial/images/bumpy-gaussian-curvature.jpg +0 -0
  422. libigl-2.5.4.dev0/tutorial/images/bunny-signed-distance.gif +0 -0
  423. libigl-2.5.4.dev0/tutorial/images/bunny-swept-volume.gif +0 -0
  424. libigl-2.5.4.dev0/tutorial/images/camelhead-laplace-equation.jpg +0 -0
  425. libigl-2.5.4.dev0/tutorial/images/cheburashka-biharmonic-leq.jpg +0 -0
  426. libigl-2.5.4.dev0/tutorial/images/cheburashka-gradient.jpg +0 -0
  427. libigl-2.5.4.dev0/tutorial/images/cheburashka-knight-boolean.jpg +0 -0
  428. libigl-2.5.4.dev0/tutorial/images/cheburashka-multiscale-biharmonic-kernels.jpg +0 -0
  429. libigl-2.5.4.dev0/tutorial/images/cow-curvature-flow.jpg +0 -0
  430. libigl-2.5.4.dev0/tutorial/images/cube-sphere-cylinders-csg-tree.jpg +0 -0
  431. libigl-2.5.4.dev0/tutorial/images/cube-sphere-cylinders-csg.gif +0 -0
  432. libigl-2.5.4.dev0/tutorial/images/decimated-knight-arap.jpg +0 -0
  433. libigl-2.5.4.dev0/tutorial/images/decimated-knight-slice-color.jpg +0 -0
  434. libigl-2.5.4.dev0/tutorial/images/decimated-knight-sort-color.jpg +0 -0
  435. libigl-2.5.4.dev0/tutorial/images/decimated-knight-subdivision.gif +0 -0
  436. libigl-2.5.4.dev0/tutorial/images/edge-collapse.jpg +0 -0
  437. libigl-2.5.4.dev0/tutorial/images/edge-collapse.pdf +1251 -1
  438. libigl-2.5.4.dev0/tutorial/images/fandisk-normals.jpg +0 -0
  439. libigl-2.5.4.dev0/tutorial/images/fertility-edge-collapse.gif +0 -0
  440. libigl-2.5.4.dev0/tutorial/images/fertility-principal-curvature.jpg +0 -0
  441. libigl-2.5.4.dev0/tutorial/images/geodesicdistance.jpg +0 -0
  442. libigl-2.5.4.dev0/tutorial/images/hand-bbw.jpg +0 -0
  443. libigl-2.5.4.dev0/tutorial/images/hat-function.jpg +0 -0
  444. libigl-2.5.4.dev0/tutorial/images/heat-geodesic-beetle.gif +0 -0
  445. libigl-2.5.4.dev0/tutorial/images/heat-geodesic-peaks.png +0 -0
  446. libigl-2.5.4.dev0/tutorial/images/libigl-logo.jpg +0 -0
  447. libigl-2.5.4.dev0/tutorial/images/max-biharmonic.jpg +0 -0
  448. libigl-2.5.4.dev0/tutorial/images/multiple-meshes.png +0 -0
  449. libigl-2.5.4.dev0/tutorial/images/octopus-biharmonic-coordinates-physics.gif +0 -0
  450. libigl-2.5.4.dev0/tutorial/images/simplicial_complex_augmentation_framework.png +0 -0
  451. libigl-2.5.4.dev0/tutorial/images/slim.png +0 -0
  452. libigl-2.5.4.dev0/tutorial/images/streamlines.jpg +0 -0
  453. libigl-2.5.4.dev0/tutorial/images/truck-facet-orientation.jpg +0 -0
  454. libigl-2.5.4.dev0/tutorial/index.md +21 -0
  455. libigl-2.5.4.dev0/tutorial/marching_cubes.py +23 -0
  456. libigl-2.5.4.dev0/tutorial/plot_to_md.py +38 -0
  457. libigl-2.5.4.dev0/tutorial/tut-chapter0.ipynb +193 -0
  458. libigl-2.5.4.dev0/tutorial/tut-chapter1.ipynb +443 -0
  459. libigl-2.5.4.dev0/tutorial/tut-chapter2.ipynb +535 -0
  460. libigl-2.5.4.dev0/tutorial/tut-chapter3.ipynb +459 -0
  461. libigl-2.5.4.dev0/tutorial/tut-chapter4.ipynb +313 -0
  462. libigl-2.5.4.dev0/tutorial/tut-chapter5.ipynb +128 -0
  463. libigl-2.5.4.dev0/tutorial/tut-chapter6.ipynb +397 -0
  464. libigl-2.5.4.dev0/tutorial/tut-chapter7.ipynb +530 -0
  465. libigl-2.5.4.dev0/tutorial/tutorials.ipynb +2186 -0
  466. libigl-2.5.2.dev0/igl/__init__.py +0 -4
  467. libigl-2.5.2.dev0/igl/_version.py +0 -1
  468. libigl-2.5.2.dev0/igl/helpers.py +0 -60
  469. libigl-2.5.2.dev0/libigl.egg-info/PKG-INFO +0 -72
  470. libigl-2.5.2.dev0/libigl.egg-info/SOURCES.txt +0 -12
  471. libigl-2.5.2.dev0/libigl.egg-info/dependency_links.txt +0 -1
  472. libigl-2.5.2.dev0/libigl.egg-info/requires.txt +0 -2
  473. libigl-2.5.2.dev0/libigl.egg-info/top_level.txt +0 -2
  474. libigl-2.5.2.dev0/pyproject.toml +0 -14
  475. libigl-2.5.2.dev0/setup.cfg +0 -4
  476. libigl-2.5.2.dev0/setup.py +0 -152
  477. libigl-2.5.2.dev0/tests/test_basic.py +0 -2472
@@ -0,0 +1,38 @@
1
+ name: Pip
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ #pull_request:
6
+ #push:
7
+ # branches:
8
+ # - master
9
+
10
+ jobs:
11
+ build:
12
+ name: Build with Pip
13
+ runs-on: ${{ matrix.platform }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ platform: [windows-latest, macos-latest, ubuntu-latest]
18
+ python-version: ["3.10"]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+
27
+ - name: Set min macOS version
28
+ if: runner.os == 'macOS'
29
+ run: |
30
+ echo "MACOSX_DEPLOYMENT_TARGET=10.14" >> $GITHUB_ENV
31
+
32
+ - name: Build and install
33
+ run: |
34
+ python -m pip install pytest
35
+ pip install --verbose .
36
+
37
+ - name: Test
38
+ run: python -m pytest
@@ -0,0 +1,70 @@
1
+ name: Wheels
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ build_sdist:
13
+ name: Build SDist
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ submodules: true
19
+
20
+ - name: Build SDist
21
+ run: pipx run build --sdist
22
+
23
+ - name: Check metadata
24
+ run: pipx run twine check dist/*
25
+
26
+ - uses: actions/upload-artifact@v4
27
+ with:
28
+ name: dist-sdist
29
+ path: dist/*.tar.gz
30
+
31
+ #build_wheels:
32
+ # name: Build ${{ matrix.cpversion }} wheels on ${{ matrix.os }}
33
+ # runs-on: ${{ matrix.os }}
34
+ # strategy:
35
+ # fail-fast: false
36
+ # matrix:
37
+ # os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-14]
38
+ # cpversion: [cp38, cp39, cp310, cp311, cp312 ]
39
+ # # github actions cp38 on macos-14 runners are cross compiling or
40
+ # # something and confusing the stub generation. Just skip it for now.
41
+ # # Maybe it'd be friendlier to disable the stub generation for this
42
+ # # combination.
43
+ # exclude:
44
+ # - os: macos-14
45
+ # cpversion: cp38
46
+
47
+
48
+ # steps:
49
+ # - uses: actions/checkout@v4
50
+
51
+ # - uses: actions/setup-python@v5
52
+ # with:
53
+ # python-version: '3.12'
54
+
55
+ # - name: Install cibuildwheel
56
+ # run: python -m pip install cibuildwheel==2.22.0
57
+
58
+ # - name: Build wheels
59
+ # # why do I need to specify this cpversion here?
60
+ # env:
61
+ # CIBW_ARCHS: "auto64"
62
+ # CIBW_BUILD: "${{ matrix.cpversion }}-*"
63
+ # # why isn't auto64 working?
64
+ # CIBW_SKIP: "cp*-manylinux_i686 cp*-musllinux* cp*-win32"
65
+ # run: python -m cibuildwheel --output-dir wheelhouse
66
+
67
+ # - uses: actions/upload-artifact@v4
68
+ # with:
69
+ # name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
70
+ # path: ./wheelhouse/*.whl
@@ -0,0 +1,42 @@
1
+ external
2
+
3
+ *.sublime-*
4
+
5
+ bin
6
+ bin_rel
7
+ build
8
+
9
+ tutorial/data
10
+ tutorial/.ipynb_*
11
+ tutorial-old/.ipynb_*
12
+
13
+ test.obj
14
+ pyigl.cpython*
15
+ pyigl_classes.cpython*
16
+ __pycache__
17
+
18
+ igl.egg-info
19
+ libigl.egg-info
20
+ *.code-workspace
21
+ out.obj
22
+ test.off
23
+ .vscode
24
+
25
+ data
26
+ site
27
+
28
+ **/meshplot
29
+
30
+ .DS_Store
31
+
32
+ ttt.py
33
+ *coverage*
34
+ htmlcov
35
+ junit
36
+ .ipynb_checkpoints/tutorials-checkpoint.ipynb
37
+ .*.un~
38
+ .*.swp
39
+ .*.swo
40
+ *~
41
+ dist/
42
+ igl/*
@@ -0,0 +1,188 @@
1
+ # Refactor the cmake/setup.py build to use scikit-build
2
+ # https://github.com/wjakob/nanobind_example
3
+ # Rather than creating multiple modules and dealing with multiple __init__.py
4
+ # files, we can create a single module and use __init__.py to import the
5
+ # submodules, create one extension module with submodules
6
+ # https://stackoverflow.com/a/77020918/148668
7
+
8
+ cmake_minimum_required(VERSION 3.15...3.27)
9
+ project(pyigl)
10
+
11
+ # For std::filesystem::path (generic_string)
12
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15")
13
+ # ≥17 for return value optimization
14
+ # <20 for embree
15
+ set(CMAKE_CXX_STANDARD 17)
16
+
17
+ if (CMAKE_VERSION VERSION_LESS 3.18)
18
+ set(DEV_MODULE Development)
19
+ else()
20
+ set(DEV_MODULE Development.Module)
21
+ endif()
22
+
23
+ find_package(Python 3.8 COMPONENTS Interpreter ${DEV_MODULE} REQUIRED)
24
+
25
+ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
26
+ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
27
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
28
+ endif()
29
+
30
+ message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
31
+
32
+ # Enable FetchContent to download dependencies at configure time
33
+ include(FetchContent)
34
+
35
+ # Download and set up nanobind
36
+ FetchContent_Declare(
37
+ nanobind
38
+ GIT_REPOSITORY https://github.com/wjakob/nanobind.git
39
+ GIT_TAG v2.2.0
40
+ )
41
+ FetchContent_MakeAvailable(nanobind)
42
+
43
+ # Download and set up libigl
44
+ option(LIBIGL_COPYLEFT_CORE "Build target igl_copyleft::core" ON)
45
+ option(LIBIGL_COPYLEFT_CGAL "Build target igl_copyleft::cgal" ON)
46
+ option(LIBIGL_EMBREE "Build target igl::embree" ON)
47
+ option(LIBIGL_COPYLEFT_TETGEN "Build target igl_copyleft::tetgen" ON)
48
+ option(LIBIGL_RESTRICTED_TRIANGLE "Build target igl_restricted::triangle" ON)
49
+ FetchContent_Declare(
50
+ libigl
51
+ GIT_REPOSITORY https://github.com/libigl/libigl.git
52
+ GIT_TAG a221faf1e4bd571529ca2101c08bc2458579b1da
53
+ )
54
+ FetchContent_MakeAvailable(libigl)
55
+
56
+ # set PYIGL_OUTPUT_DIRECTORY to [this dir]/igl
57
+ set(PYIGL_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/igl")
58
+
59
+ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
60
+ # Color output
61
+ include(UseColors)
62
+
63
+ # Extra warnings
64
+ include(Warnings)
65
+
66
+ # Use C++11/14
67
+ include(CXXFeatures)
68
+
69
+ # Generate position independent code by default
70
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON CACHE INTERNAL "")
71
+
72
+
73
+
74
+ # don't need to worry about nested modules (opengl/** are the only ones and
75
+ # those probably aren't ever getting python bindings)
76
+ #
77
+ # prefix is either "", "copyleft", or "restricted"
78
+ function(pyigl_include prefix name)
79
+ string(TOUPPER "${prefix}" prefix_uc)
80
+ string(TOUPPER "${name}" name_uc)
81
+ if(prefix_uc)
82
+ string(PREPEND prefix_uc _)
83
+ endif()
84
+ string(TOLOWER "${prefix_uc}" prefix_lc)
85
+ # if(LIBIGL${prefix_uc}_${name_uc}) or name == "core"
86
+ if(LIBIGL${prefix_uc}_${name_uc} OR name STREQUAL "core")
87
+ if("${prefix}" STREQUAL "copyleft")
88
+ if("${name}" STREQUAL "core")
89
+ set(subpath "copyleft")
90
+ else()
91
+ set(subpath "copyleft/${name}")
92
+ endif()
93
+ elseif("${name}" STREQUAL "core")
94
+ set(subpath "")
95
+ else() # "" or "restricted"
96
+ set(subpath "${name}")
97
+ endif()
98
+ file(GLOB sources "${CMAKE_CURRENT_SOURCE_DIR}/src/${subpath}/*.cpp")
99
+
100
+ ## Just compile a single file
101
+ #list(FILTER sources EXCLUDE REGEX ".*/module\\.cpp$")
102
+ #list(GET sources 0 sources)
103
+ #list(APPEND sources "${CMAKE_CURRENT_SOURCE_DIR}/src/${subpath}/module.cpp")
104
+
105
+ message(STATUS "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$")
106
+ message(STATUS "${prefix} ${name} sources: ${sources}")
107
+
108
+ set(BINDING_SOURCES ${sources})
109
+ list(FILTER BINDING_SOURCES EXCLUDE REGEX ".*/module\\.cpp$")
110
+
111
+ # keep just the first in the list and overwrite BINDING_SOURCES
112
+
113
+ # Generate the function calls based on filenames
114
+ set(BINDING_DECLARATIONS "")
115
+ foreach(source_file ${BINDING_SOURCES})
116
+ get_filename_component(filename ${source_file} NAME_WE)
117
+ set(BINDING_DECLARATIONS "${BINDING_DECLARATIONS}extern void bind_${filename}(nb::module_ &m);\n")
118
+ set(BINDING_INVOCATIONS "${BINDING_INVOCATIONS} bind_${filename}(m);\n")
119
+ endforeach()
120
+ # make a temporary folder in the build directory to store the generated files
121
+ set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/include/${subpath}")
122
+ file(MAKE_DIRECTORY "${generated_dir}")
123
+ # write contents into BINDING_DECLARATIONS.h and BINDING_INVOCATIONS.h
124
+ file(WRITE "${generated_dir}/BINDING_DECLARATIONS.in" "${BINDING_DECLARATIONS}")
125
+ file(WRITE "${generated_dir}/BINDING_INVOCATIONS.in" "${BINDING_INVOCATIONS}")
126
+
127
+ set(target_name "pyigl${prefix_lc}_${name}")
128
+ nanobind_add_module(${target_name} ${sources})
129
+
130
+ # important for scikit-build
131
+ install(TARGETS ${target_name} LIBRARY DESTINATION "igl/${subpath}")
132
+
133
+
134
+ if("${name}" STREQUAL "core")
135
+ target_link_libraries(${target_name} PRIVATE igl::core)
136
+ else()
137
+ target_link_libraries(${target_name} PRIVATE igl::core igl${prefix_lc}::${name})
138
+ endif()
139
+ target_include_directories(${target_name} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/include")
140
+ target_include_directories(${target_name} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include")
141
+ set(output_dir "${PYIGL_OUTPUT_DIRECTORY}/${subpath}")
142
+ file(MAKE_DIRECTORY ${output_dir})
143
+ file(WRITE "${output_dir}/__init__.py" "from .${target_name} import *\n")
144
+ install(FILES "${output_dir}/__init__.py" DESTINATION "igl/${subpath}")
145
+
146
+ set_target_properties(${target_name} PROPERTIES
147
+ LIBRARY_OUTPUT_DIRECTORY "${output_dir}"
148
+ RUNTIME_OUTPUT_DIRECTORY "${output_dir}"
149
+ LIBRARY_OUTPUT_DIRECTORY_RELEASE "${output_dir}"
150
+ RUNTIME_OUTPUT_DIRECTORY_RELEASE "${output_dir}"
151
+ )
152
+ set(PYI_OUTPUT "${output_dir}/${target_name}.pyi")
153
+ nanobind_add_stub(
154
+ ${target_name}_stub
155
+ MODULE ${target_name}
156
+ OUTPUT ${PYI_OUTPUT}
157
+ PYTHON_PATH $<TARGET_FILE_DIR:${target_name}>
158
+ DEPENDS ${target_name}
159
+ )
160
+ install(FILES "${PYI_OUTPUT}" DESTINATION "igl/${subpath}")
161
+
162
+ # just to add dependency?
163
+ if("${name}" STREQUAL "core")
164
+ else()
165
+ target_link_libraries(pyigl_core INTERFACE ${target_name})
166
+ endif()
167
+ endif()
168
+ endfunction()
169
+
170
+ pyigl_include("" "core")
171
+ if(LIBIGL_COPYLEFT_CORE)
172
+ pyigl_include("copyleft" "core")
173
+ endif()
174
+ if(LIBIGL_COPYLEFT_CGAL)
175
+ pyigl_include("copyleft" "cgal")
176
+ endif()
177
+ if(LIBIGL_EMBREE)
178
+ pyigl_include("" "embree")
179
+ endif()
180
+ if(LIBIGL_COPYLEFT_TETGEN)
181
+ pyigl_include("copyleft" "tetgen")
182
+ endif()
183
+ if(LIBIGL_RESTRICTED_TRIANGLE)
184
+ pyigl_include("restricted" "triangle")
185
+ endif()
186
+
187
+
188
+