geodesic-draping 0.1.1__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 (262) hide show
  1. geodesic_draping-0.1.1/.github/workflows/wheels.yml +63 -0
  2. geodesic_draping-0.1.1/.gitignore +9 -0
  3. geodesic_draping-0.1.1/.gitmodules +6 -0
  4. geodesic_draping-0.1.1/CHANGELOG.md +18 -0
  5. geodesic_draping-0.1.1/CMakeLists.txt +129 -0
  6. geodesic_draping-0.1.1/LICENSE +674 -0
  7. geodesic_draping-0.1.1/PKG-INFO +433 -0
  8. geodesic_draping-0.1.1/README.md +412 -0
  9. geodesic_draping-0.1.1/THIRD_PARTY_NOTICES.md +52 -0
  10. geodesic_draping-0.1.1/bindings/python/module.cpp +389 -0
  11. geodesic_draping-0.1.1/examples/basic_solve.py +29 -0
  12. geodesic_draping-0.1.1/examples/demo_fixture.py +18 -0
  13. geodesic_draping-0.1.1/examples/persistent_solver.py +23 -0
  14. geodesic_draping-0.1.1/examples/subdivision_debug_plot.py +42 -0
  15. geodesic_draping-0.1.1/extern/geometry-central/.clang-format +22 -0
  16. geodesic_draping-0.1.1/extern/geometry-central/.gitignore +44 -0
  17. geodesic_draping-0.1.1/extern/geometry-central/.gitmodules +3 -0
  18. geodesic_draping-0.1.1/extern/geometry-central/CMakeLists.txt +97 -0
  19. geodesic_draping-0.1.1/extern/geometry-central/LICENSE +21 -0
  20. geodesic_draping-0.1.1/extern/geometry-central/README.md +73 -0
  21. geodesic_draping-0.1.1/extern/geometry-central/cmake/EigenChecker.cmake +67 -0
  22. geodesic_draping-0.1.1/extern/geometry-central/cmake/FetchContent/CMakeLists.cmake.in +23 -0
  23. geodesic_draping-0.1.1/extern/geometry-central/cmake/FetchContentLocal.cmake +1061 -0
  24. geodesic_draping-0.1.1/extern/geometry-central/cmake/FindEigen3.cmake +103 -0
  25. geodesic_draping-0.1.1/extern/geometry-central/cmake/FindSuiteSparse.cmake +655 -0
  26. geodesic_draping-0.1.1/extern/geometry-central/cmake/GeometryCentralConfig.cmake.in +12 -0
  27. geodesic_draping-0.1.1/extern/geometry-central/cmake/UpdateCacheVariable.cmake +43 -0
  28. geodesic_draping-0.1.1/extern/geometry-central/deps/CMakeLists.txt +188 -0
  29. geodesic_draping-0.1.1/extern/geometry-central/deps/downloads/.gitignore +3 -0
  30. geodesic_draping-0.1.1/extern/geometry-central/deps/downloads/README.md +1 -0
  31. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/.clang-format +22 -0
  32. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/.gitignore +42 -0
  33. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/.travis.yml +42 -0
  34. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/LICENSE +21 -0
  35. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/README.md +182 -0
  36. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/happly.h +2013 -0
  37. geodesic_draping-0.1.1/extern/geometry-central/deps/happly/happly_logo.jpg +0 -0
  38. geodesic_draping-0.1.1/extern/geometry-central/deps/nanoflann/include/nanoflann.hpp +2813 -0
  39. geodesic_draping-0.1.1/extern/geometry-central/deps/nanort/include/nanort.h +2795 -0
  40. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/numerical/linear_algebra_types.h +49 -0
  41. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/numerical/linear_algebra_utilities.h +127 -0
  42. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/numerical/linear_algebra_utilities.ipp +549 -0
  43. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/numerical/linear_solvers.h +134 -0
  44. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/numerical/suitesparse_utilities.h +68 -0
  45. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/local_triangulation.h +26 -0
  46. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/neighborhoods.h +34 -0
  47. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud.h +154 -0
  48. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud.ipp +30 -0
  49. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud_element_types.h +103 -0
  50. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud_element_types.ipp +43 -0
  51. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud_heat_solver.h +84 -0
  52. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud_io.h +29 -0
  53. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_cloud_logic_templates.ipp +44 -0
  54. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_position_frame_geometry.h +26 -0
  55. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_position_geometry.h +168 -0
  56. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/point_position_normal_geometry.h +24 -0
  57. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/pointcloud/sample_cloud.h +18 -0
  58. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/barycentric_coordinate_helpers.h +56 -0
  59. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/barycentric_coordinate_helpers.ipp +108 -0
  60. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/barycentric_vector.h +115 -0
  61. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/barycentric_vector.ipp +702 -0
  62. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/base_geometry_interface.h +117 -0
  63. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/boundary_first_flattening.h +52 -0
  64. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/common_subdivision.h +198 -0
  65. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/common_subdivision.ipp +50 -0
  66. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/direction_fields.h +38 -0
  67. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/edge_length_geometry.h +54 -0
  68. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/edge_length_geometry.ipp +117 -0
  69. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/embed_convex.h +151 -0
  70. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/embedded_geometry_interface.h +192 -0
  71. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/exact_geodesic_helpers.h +233 -0
  72. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/exact_geodesic_helpers.ipp +57 -0
  73. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/exact_geodesics.h +159 -0
  74. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/exact_polyhedral_geodesics.h +149 -0
  75. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/extrinsic_geometry_interface.h +82 -0
  76. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/fast_marching_method.h +25 -0
  77. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/flip_geodesics.h +254 -0
  78. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/geodesic_centroidal_voronoi_tessellation.h +32 -0
  79. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/geometry.h +9 -0
  80. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/halfedge_element_types.h +597 -0
  81. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/halfedge_element_types.ipp +523 -0
  82. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/halfedge_factories.h +40 -0
  83. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/halfedge_logic_templates.ipp +60 -0
  84. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/halfedge_mesh.h +13 -0
  85. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/heat_method_distance.h +85 -0
  86. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/integer_coordinates_intrinsic_triangulation.h +152 -0
  87. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/integer_coordinates_intrinsic_triangulation.ipp +0 -0
  88. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/intersection.h +25 -0
  89. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/intrinsic_geometry_interface.h +286 -0
  90. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/intrinsic_mollification.h +19 -0
  91. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/intrinsic_triangulation.h +256 -0
  92. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/intrinsic_triangulation.ipp +93 -0
  93. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/manifold_surface_mesh.h +119 -0
  94. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/manifold_surface_mesh.ipp +14 -0
  95. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/marching_triangles.h +12 -0
  96. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/mesh_graph_algorithms.h +31 -0
  97. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/mesh_ray_tracer.h +45 -0
  98. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/meshio.h +88 -0
  99. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/mutation_manager.h +320 -0
  100. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/mutation_manager.ipp +208 -0
  101. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/normal_coordinates.h +216 -0
  102. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/parameterize.h +20 -0
  103. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/poisson_disk_sampler.h +65 -0
  104. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/polygon_mesh_heat_solver.h +63 -0
  105. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/polygon_soup_mesh.h +11 -0
  106. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/quadric_error_simplification.h +37 -0
  107. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/remeshing.h +61 -0
  108. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/rich_surface_mesh_data.h +152 -0
  109. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/rich_surface_mesh_data.ipp +128 -0
  110. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/signed_heat_method.h +98 -0
  111. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/signpost_intrinsic_triangulation.h +125 -0
  112. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/signpost_intrinsic_triangulation.ipp +35 -0
  113. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/simple_idt.h +20 -0
  114. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/simple_polygon_mesh.h +106 -0
  115. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/stripe_patterns.h +36 -0
  116. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/subdivide.h +19 -0
  117. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_centers.h +27 -0
  118. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_mesh.h +435 -0
  119. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_mesh.ipp +143 -0
  120. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_mesh_factories.h +69 -0
  121. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_mesh_factories.ipp +28 -0
  122. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_point.h +100 -0
  123. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surface_point.ipp +357 -0
  124. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/surgery.h +18 -0
  125. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/trace_geodesic.h +56 -0
  126. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/transfer_functions.h +69 -0
  127. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/tufted_laplacian.h +20 -0
  128. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/uniformize.h +17 -0
  129. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/vector_heat_method.h +94 -0
  130. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/vertex_position_geometry.h +73 -0
  131. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/surface/vertex_position_geometry.ipp +214 -0
  132. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/combining_hash_functions.h +59 -0
  133. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/curve.h +118 -0
  134. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/curve.ipp +136 -0
  135. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/dependent_quantity.h +66 -0
  136. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/dependent_quantity.ipp +94 -0
  137. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/disjoint_sets.h +54 -0
  138. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/eigen_interop_helpers.h +140 -0
  139. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/element.h +143 -0
  140. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/element.ipp +135 -0
  141. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/element_iterators.h +113 -0
  142. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/element_iterators.ipp +123 -0
  143. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/elementary_geometry.h +86 -0
  144. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/elementary_geometry.ipp +139 -0
  145. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/knn.h +34 -0
  146. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/mesh_data.h +208 -0
  147. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/mesh_data.ipp +301 -0
  148. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/quaternion.h +164 -0
  149. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/timing.h +82 -0
  150. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/utilities.h +169 -0
  151. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/vector2.h +124 -0
  152. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/vector2.ipp +197 -0
  153. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/vector3.h +102 -0
  154. geodesic_draping-0.1.1/extern/geometry-central/include/geometrycentral/utilities/vector3.ipp +188 -0
  155. geodesic_draping-0.1.1/extern/geometry-central/src/CMakeLists.txt +212 -0
  156. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/eigenproblem_solvers.cpp +233 -0
  157. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/linear_algebra_utilities.cpp +62 -0
  158. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/linear_solvers.cpp +27 -0
  159. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/positive_definite_solvers.cpp +153 -0
  160. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/qr_solvers.cpp +227 -0
  161. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/square_solvers.cpp +206 -0
  162. geodesic_draping-0.1.1/extern/geometry-central/src/numerical/suitesparse_utilities.cpp +218 -0
  163. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/local_triangulation.cpp +246 -0
  164. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/neighborhoods.cpp +33 -0
  165. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_cloud.cpp +176 -0
  166. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_cloud_heat_solver.cpp +488 -0
  167. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_cloud_io.cpp +181 -0
  168. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_position_frame_geometry.cpp +32 -0
  169. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_position_geometry.cpp +374 -0
  170. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/point_position_normal_geometry.cpp +19 -0
  171. geodesic_draping-0.1.1/extern/geometry-central/src/pointcloud/sample_cloud.cpp +75 -0
  172. geodesic_draping-0.1.1/extern/geometry-central/src/surface/barycentric_vector.cpp +71 -0
  173. geodesic_draping-0.1.1/extern/geometry-central/src/surface/base_geometry_interface.cpp +83 -0
  174. geodesic_draping-0.1.1/extern/geometry-central/src/surface/boundary_first_flattening.cpp +205 -0
  175. geodesic_draping-0.1.1/extern/geometry-central/src/surface/common_subdivision.cpp +726 -0
  176. geodesic_draping-0.1.1/extern/geometry-central/src/surface/direction_fields.cpp +1004 -0
  177. geodesic_draping-0.1.1/extern/geometry-central/src/surface/edge_length_geometry.cpp +45 -0
  178. geodesic_draping-0.1.1/extern/geometry-central/src/surface/embed_convex.cpp +768 -0
  179. geodesic_draping-0.1.1/extern/geometry-central/src/surface/embedded_geometry_interface.cpp +852 -0
  180. geodesic_draping-0.1.1/extern/geometry-central/src/surface/exact_geodesic_helpers.cpp +456 -0
  181. geodesic_draping-0.1.1/extern/geometry-central/src/surface/exact_geodesics.cpp +1384 -0
  182. geodesic_draping-0.1.1/extern/geometry-central/src/surface/exact_polyhedral_geodesics.cpp +683 -0
  183. geodesic_draping-0.1.1/extern/geometry-central/src/surface/extrinsic_geometry_interface.cpp +168 -0
  184. geodesic_draping-0.1.1/extern/geometry-central/src/surface/fast_marching_method.cpp +323 -0
  185. geodesic_draping-0.1.1/extern/geometry-central/src/surface/flip_geodesics.cpp +1851 -0
  186. geodesic_draping-0.1.1/extern/geometry-central/src/surface/geodesic_centroidal_voronoi_tessellation.cpp +148 -0
  187. geodesic_draping-0.1.1/extern/geometry-central/src/surface/halfedge_factories.cpp +49 -0
  188. geodesic_draping-0.1.1/extern/geometry-central/src/surface/heat_method_distance.cpp +223 -0
  189. geodesic_draping-0.1.1/extern/geometry-central/src/surface/integer_coordinates_intrinsic_triangulation.cpp +2144 -0
  190. geodesic_draping-0.1.1/extern/geometry-central/src/surface/intersection.cpp +88 -0
  191. geodesic_draping-0.1.1/extern/geometry-central/src/surface/intrinsic_geometry_interface.cpp +777 -0
  192. geodesic_draping-0.1.1/extern/geometry-central/src/surface/intrinsic_mollification.cpp +41 -0
  193. geodesic_draping-0.1.1/extern/geometry-central/src/surface/intrinsic_triangulation.cpp +731 -0
  194. geodesic_draping-0.1.1/extern/geometry-central/src/surface/manifold_surface_mesh.cpp +1835 -0
  195. geodesic_draping-0.1.1/extern/geometry-central/src/surface/marching_triangles.cpp +180 -0
  196. geodesic_draping-0.1.1/extern/geometry-central/src/surface/mesh_graph_algorithms.cpp +320 -0
  197. geodesic_draping-0.1.1/extern/geometry-central/src/surface/mesh_ray_tracer.cpp +105 -0
  198. geodesic_draping-0.1.1/extern/geometry-central/src/surface/meshio.cpp +414 -0
  199. geodesic_draping-0.1.1/extern/geometry-central/src/surface/mutation_manager.cpp +407 -0
  200. geodesic_draping-0.1.1/extern/geometry-central/src/surface/normal_coordinates.cpp +1229 -0
  201. geodesic_draping-0.1.1/extern/geometry-central/src/surface/parameterize.cpp +124 -0
  202. geodesic_draping-0.1.1/extern/geometry-central/src/surface/poisson_disk_sampler.cpp +274 -0
  203. geodesic_draping-0.1.1/extern/geometry-central/src/surface/polygon_mesh_heat_solver.cpp +350 -0
  204. geodesic_draping-0.1.1/extern/geometry-central/src/surface/quadric_error_simplification.cpp +116 -0
  205. geodesic_draping-0.1.1/extern/geometry-central/src/surface/remeshing.cpp +429 -0
  206. geodesic_draping-0.1.1/extern/geometry-central/src/surface/rich_surface_mesh_data.cpp +287 -0
  207. geodesic_draping-0.1.1/extern/geometry-central/src/surface/signed_heat_method.cpp +1034 -0
  208. geodesic_draping-0.1.1/extern/geometry-central/src/surface/signpost_intrinsic_triangulation.cpp +913 -0
  209. geodesic_draping-0.1.1/extern/geometry-central/src/surface/simple_idt.cpp +192 -0
  210. geodesic_draping-0.1.1/extern/geometry-central/src/surface/simple_polygon_mesh.cpp +938 -0
  211. geodesic_draping-0.1.1/extern/geometry-central/src/surface/stripe_patterns.cpp +560 -0
  212. geodesic_draping-0.1.1/extern/geometry-central/src/surface/subdivide.cpp +255 -0
  213. geodesic_draping-0.1.1/extern/geometry-central/src/surface/surface_centers.cpp +187 -0
  214. geodesic_draping-0.1.1/extern/geometry-central/src/surface/surface_mesh.cpp +1951 -0
  215. geodesic_draping-0.1.1/extern/geometry-central/src/surface/surface_mesh_factories.cpp +115 -0
  216. geodesic_draping-0.1.1/extern/geometry-central/src/surface/surface_point.cpp +139 -0
  217. geodesic_draping-0.1.1/extern/geometry-central/src/surface/surgery.cpp +106 -0
  218. geodesic_draping-0.1.1/extern/geometry-central/src/surface/trace_geodesic.cpp +880 -0
  219. geodesic_draping-0.1.1/extern/geometry-central/src/surface/transfer_functions.cpp +144 -0
  220. geodesic_draping-0.1.1/extern/geometry-central/src/surface/tufted_laplacian.cpp +124 -0
  221. geodesic_draping-0.1.1/extern/geometry-central/src/surface/uniformize.cpp +114 -0
  222. geodesic_draping-0.1.1/extern/geometry-central/src/surface/vector_heat_method.cpp +700 -0
  223. geodesic_draping-0.1.1/extern/geometry-central/src/surface/vertex_position_geometry.cpp +46 -0
  224. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/disjoint_sets.cpp +87 -0
  225. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/elementary_geometry.cpp +20 -0
  226. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/knn.cpp +113 -0
  227. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/quaternion.cpp +281 -0
  228. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/tri_tri_intersect.cpp +744 -0
  229. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/unit_vector3.cpp +17 -0
  230. geodesic_draping-0.1.1/extern/geometry-central/src/utilities/utilities.cpp +9 -0
  231. geodesic_draping-0.1.1/include/geodesic_draping/custom_signed_heat.h +108 -0
  232. geodesic_draping-0.1.1/include/geodesic_draping/geodrape.h +183 -0
  233. geodesic_draping-0.1.1/include/geodesic_draping/mesh.h +19 -0
  234. geodesic_draping-0.1.1/include/geodesic_draping/seed_projection.h +29 -0
  235. geodesic_draping-0.1.1/include/geodesic_draping/strings.h +63 -0
  236. geodesic_draping-0.1.1/include/geodesic_draping/surface_construction.h +19 -0
  237. geodesic_draping-0.1.1/include/geodesic_draping/version.h +7 -0
  238. geodesic_draping-0.1.1/pyproject.toml +49 -0
  239. geodesic_draping-0.1.1/python/geodesic_draping/__init__.py +155 -0
  240. geodesic_draping-0.1.1/src/custom_signed_heat.cpp +611 -0
  241. geodesic_draping-0.1.1/src/drape_retrieval.cpp +326 -0
  242. geodesic_draping-0.1.1/src/field_algorithms.cpp +31 -0
  243. geodesic_draping-0.1.1/src/field_sampling.cpp +29 -0
  244. geodesic_draping-0.1.1/src/generator_tracing.cpp +85 -0
  245. geodesic_draping-0.1.1/src/geodrape.cpp +137 -0
  246. geodesic_draping-0.1.1/src/geodrape_internal.h +68 -0
  247. geodesic_draping-0.1.1/src/geodrape_public.cpp +79 -0
  248. geodesic_draping-0.1.1/src/intrinsic_domain.cpp +122 -0
  249. geodesic_draping-0.1.1/src/seed_projection.cpp +124 -0
  250. geodesic_draping-0.1.1/src/surface_construction.cpp +46 -0
  251. geodesic_draping-0.1.1/src/tangent_vectors.cpp +158 -0
  252. geodesic_draping-0.1.1/src/version.cpp +9 -0
  253. geodesic_draping-0.1.1/test_data/fixtures/demo_part/inputs.json +13 -0
  254. geodesic_draping-0.1.1/test_data/fixtures/demo_part/mesh.json +234566 -0
  255. geodesic_draping-0.1.1/tests/python/test_python_api.py +76 -0
  256. geodesic_draping-0.1.1/tests/smoke_eigen.cpp +32 -0
  257. geodesic_draping-0.1.1/tests/smoke_geometrycentral.cpp +68 -0
  258. geodesic_draping-0.1.1/tests/smoke_seed_projection.cpp +49 -0
  259. geodesic_draping-0.1.1/tools/benchmark_drape.cpp +234 -0
  260. geodesic_draping-0.1.1/tools/debug_drape_result.cpp +248 -0
  261. geodesic_draping-0.1.1/tools/fixture_io.h +122 -0
  262. geodesic_draping-0.1.1/tools/plot_drape_result.py +55 -0
@@ -0,0 +1,63 @@
1
+ name: Wheels
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ tags: ["v*"]
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ wheels:
14
+ name: ${{ matrix.os }} wheels
15
+ runs-on: ${{ matrix.os }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os: [ubuntu-latest, macos-latest, windows-latest]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ with:
24
+ submodules: recursive
25
+
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+
30
+ - name: Build wheels
31
+ uses: pypa/cibuildwheel@v2.22.0
32
+ env:
33
+ CIBW_BUILD: "cp310-* cp311-* cp312-*"
34
+ CIBW_SKIP: "*-musllinux_*"
35
+ CIBW_TEST_REQUIRES: pytest
36
+ CIBW_TEST_COMMAND: "pytest {project}/tests/python -q"
37
+
38
+ - uses: actions/upload-artifact@v4
39
+ with:
40
+ name: wheels-${{ matrix.os }}
41
+ path: wheelhouse/*.whl
42
+
43
+ sdist:
44
+ name: Source distribution
45
+ runs-on: ubuntu-latest
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ with:
49
+ submodules: recursive
50
+
51
+ - uses: actions/setup-python@v5
52
+ with:
53
+ python-version: "3.12"
54
+
55
+ - name: Build sdist
56
+ run: |
57
+ python -m pip install -U build
58
+ python -m build --sdist
59
+
60
+ - uses: actions/upload-artifact@v4
61
+ with:
62
+ name: sdist
63
+ path: dist/*.tar.gz
@@ -0,0 +1,9 @@
1
+ build/
2
+ dist/
3
+ .venv*/
4
+ *.egg-info/
5
+ __pycache__/
6
+ *.py[cod]
7
+ *.pyd
8
+ .polyscope.ini
9
+ imgui.ini
@@ -0,0 +1,6 @@
1
+ [submodule "extern/geometry-central"]
2
+ path = extern/geometry-central
3
+ url = https://github.com/nmwsharp/geometry-central.git
4
+ [submodule "extern/polyscope"]
5
+ path = extern/polyscope
6
+ url = https://github.com/nmwsharp/polyscope.git
@@ -0,0 +1,18 @@
1
+ # Changelog
2
+
3
+ ## 0.1.1 - Unreleased
4
+
5
+ - Added GitHub Actions wheel artifact builds.
6
+ - Simplified C++ option types and shared enum string helpers.
7
+ - Kept Python API surface stable.
8
+
9
+ ## 0.1.0
10
+
11
+ - Initial C++ implementation of geodesic draping.
12
+ - Added Python bindings with NumPy input/output.
13
+ - Added fast, hybrid, and complete solve modes.
14
+ - Added extrinsic and subdivision retrieval for Python.
15
+ - Added signpost and integer-coordinate intrinsic triangulation backends.
16
+ - Added optional intrinsic Delaunay flip/refine support.
17
+ - Added demo fixture, smoke tests, examples, debug viewer, and benchmark tools.
18
+
@@ -0,0 +1,129 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+
3
+ project(geodesic_draping
4
+ VERSION 0.1.1
5
+ LANGUAGES CXX)
6
+
7
+ option(GEODESIC_DRAPING_BUILD_TESTS "Build geodesic draping tests" OFF)
8
+ option(GEODESIC_DRAPING_BUILD_TOOLS "Build geodesic draping command-line tools" ON)
9
+ option(GEODESIC_DRAPING_ENABLE_POLYSCOPE "Enable optional Polyscope plotting helpers" OFF)
10
+ option(GEODESIC_DRAPING_BUILD_PYTHON "Build Python bindings" OFF)
11
+
12
+ if(GEODESIC_DRAPING_BUILD_PYTHON)
13
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
14
+ endif()
15
+
16
+ set(CMAKE_CXX_STANDARD 17)
17
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
18
+ set(CMAKE_CXX_EXTENSIONS OFF)
19
+
20
+ add_subdirectory(extern/geometry-central EXCLUDE_FROM_ALL)
21
+
22
+ if(GEODESIC_DRAPING_ENABLE_POLYSCOPE)
23
+ set(POLYSCOPE_BACKEND_OPENGL3_EGL OFF CACHE STRING "Disable EGL backend on Windows" FORCE)
24
+ add_subdirectory(extern/polyscope EXCLUDE_FROM_ALL)
25
+ endif()
26
+
27
+ add_library(geodesic_draping
28
+ src/field_algorithms.cpp
29
+ src/field_sampling.cpp
30
+ src/geodrape.cpp
31
+ src/surface_construction.cpp
32
+ src/generator_tracing.cpp
33
+ src/intrinsic_domain.cpp
34
+ src/geodrape_public.cpp
35
+ src/seed_projection.cpp
36
+ src/custom_signed_heat.cpp
37
+ src/drape_retrieval.cpp
38
+ src/tangent_vectors.cpp
39
+ src/version.cpp)
40
+
41
+ target_include_directories(geodesic_draping
42
+ PUBLIC
43
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
44
+ $<INSTALL_INTERFACE:include>)
45
+
46
+ target_link_libraries(geodesic_draping
47
+ PUBLIC
48
+ geometry-central)
49
+
50
+ if(GEODESIC_DRAPING_ENABLE_POLYSCOPE)
51
+ target_link_libraries(geodesic_draping
52
+ PUBLIC
53
+ polyscope)
54
+ target_compile_definitions(geodesic_draping
55
+ PUBLIC
56
+ GEODESIC_DRAPING_HAS_POLYSCOPE=1)
57
+ else()
58
+ target_compile_definitions(geodesic_draping
59
+ PUBLIC
60
+ GEODESIC_DRAPING_HAS_POLYSCOPE=0)
61
+ endif()
62
+
63
+ if(GEODESIC_DRAPING_BUILD_TESTS)
64
+ enable_testing()
65
+
66
+ add_executable(smoke_eigen
67
+ tests/smoke_eigen.cpp)
68
+ target_link_libraries(smoke_eigen
69
+ PRIVATE
70
+ geodesic_draping)
71
+ add_test(NAME smoke_eigen COMMAND smoke_eigen)
72
+
73
+ add_executable(smoke_geometrycentral
74
+ tests/smoke_geometrycentral.cpp)
75
+ target_link_libraries(smoke_geometrycentral
76
+ PRIVATE
77
+ geodesic_draping)
78
+ add_test(NAME smoke_geometrycentral COMMAND smoke_geometrycentral)
79
+
80
+ add_executable(smoke_seed_projection
81
+ tests/smoke_seed_projection.cpp)
82
+ target_link_libraries(smoke_seed_projection
83
+ PRIVATE
84
+ geodesic_draping)
85
+ add_test(NAME smoke_seed_projection COMMAND smoke_seed_projection)
86
+ endif()
87
+
88
+ if(GEODESIC_DRAPING_BUILD_PYTHON)
89
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
90
+ find_package(pybind11 CONFIG REQUIRED)
91
+
92
+ pybind11_add_module(_core
93
+ bindings/python/module.cpp)
94
+ target_link_libraries(_core
95
+ PRIVATE
96
+ geodesic_draping)
97
+ install(TARGETS _core
98
+ LIBRARY DESTINATION geodesic_draping
99
+ RUNTIME DESTINATION geodesic_draping
100
+ COMPONENT python)
101
+ endif()
102
+
103
+ if(GEODESIC_DRAPING_BUILD_TOOLS)
104
+ add_executable(benchmark_drape
105
+ tools/benchmark_drape.cpp)
106
+ target_link_libraries(benchmark_drape
107
+ PRIVATE
108
+ geodesic_draping)
109
+ target_include_directories(benchmark_drape
110
+ PRIVATE
111
+ ${CMAKE_CURRENT_SOURCE_DIR}/tools)
112
+ target_compile_definitions(benchmark_drape
113
+ PRIVATE
114
+ GEODESIC_DRAPING_TEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/test_data/fixtures")
115
+
116
+ if(GEODESIC_DRAPING_ENABLE_POLYSCOPE)
117
+ add_executable(debug_drape_result
118
+ tools/debug_drape_result.cpp)
119
+ target_link_libraries(debug_drape_result
120
+ PRIVATE
121
+ geodesic_draping)
122
+ target_include_directories(debug_drape_result
123
+ PRIVATE
124
+ ${CMAKE_CURRENT_SOURCE_DIR}/tools)
125
+ target_compile_definitions(debug_drape_result
126
+ PRIVATE
127
+ GEODESIC_DRAPING_TEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/test_data/fixtures")
128
+ endif()
129
+ endif()