py_igl.cpp 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2017 Sebastian Koch <s.koch@tu-berlin.de> and Daniele Panozzo <daniele.panozzo@gmail.com>
  4. //
  5. // This Source Code Form is subject to the terms of the Mozilla Public License
  6. // v. 2.0. If a copy of the MPL was not distributed with this file, You can
  7. // obtain one at http://mozilla.org/MPL/2.0/.
  8. #include <Eigen/Dense>
  9. #include "python_shared.h"
  10. #include <igl/AABB.h>
  11. #include <igl/ARAPEnergyType.h>
  12. #include <igl/MeshBooleanType.h>
  13. #include <igl/SolverStatus.h>
  14. #include <igl/active_set.h>
  15. #include <igl/adjacency_list.h>
  16. #include <igl/adjacency_matrix.h>
  17. #include <igl/arap.h>
  18. #include <igl/avg_edge_length.h>
  19. #include <igl/barycenter.h>
  20. #include <igl/barycentric_coordinates.h>
  21. #include <igl/barycentric_to_global.h>
  22. #include <igl/bbw.h>
  23. #include <igl/boundary_conditions.h>
  24. #include <igl/boundary_facets.h>
  25. #include <igl/boundary_loop.h>
  26. #include <igl/cat.h>
  27. #include <igl/collapse_edge.h>
  28. #include <igl/colon.h>
  29. #include <igl/column_to_quats.h>
  30. #include <igl/comb_cross_field.h>
  31. #include <igl/comb_frame_field.h>
  32. #include <igl/compute_frame_field_bisectors.h>
  33. #include <igl/cotmatrix.h>
  34. #include <igl/covariance_scatter_matrix.h>
  35. #include <igl/cross_field_mismatch.h>
  36. #include <igl/cut_mesh_from_singularities.h>
  37. #include <igl/deform_skeleton.h>
  38. #include <igl/directed_edge_orientations.h>
  39. #include <igl/directed_edge_parents.h>
  40. #include <igl/doublearea.h>
  41. #include <igl/dqs.h>
  42. #include <igl/edge_lengths.h>
  43. #include <igl/edge_topology.h>
  44. #include <igl/eigs.h>
  45. #include <igl/exact_geodesic.h>
  46. #include <igl/heat_geodesics.h>
  47. #include <igl/find_cross_field_singularities.h>
  48. #include <igl/fit_rotations.h>
  49. #include <igl/floor.h>
  50. #include <igl/forward_kinematics.h>
  51. #include <igl/gaussian_curvature.h>
  52. #include <igl/get_seconds.h>
  53. #include <igl/grad.h>
  54. #include <igl/harmonic.h>
  55. #include <igl/hsv_to_rgb.h>
  56. #include <igl/internal_angles.h>
  57. #include <igl/invert_diag.h>
  58. #include <igl/is_irregular_vertex.h>
  59. #include <igl/jet.h>
  60. #include <igl/lbs_matrix.h>
  61. #include <igl/local_basis.h>
  62. #include <igl/lscm.h>
  63. #include <igl/map_vertices_to_circle.h>
  64. #include <igl/massmatrix.h>
  65. #include <igl/min_quad_with_fixed.h>
  66. #include <igl/normalize_row_lengths.h>
  67. #include <igl/normalize_row_sums.h>
  68. #include <igl/parula.h>
  69. #include <igl/per_corner_normals.h>
  70. #include <igl/per_edge_normals.h>
  71. #include <igl/per_face_normals.h>
  72. #include <igl/per_vertex_normals.h>
  73. #include <igl/planarize_quad_mesh.h>
  74. #include <igl/point_mesh_squared_distance.h>
  75. #include <igl/polar_svd.h>
  76. #include <igl/principal_curvature.h>
  77. #include <igl/quad_planarity.h>
  78. #include <igl/randperm.h>
  79. #include <igl/readDMAT.h>
  80. #include <igl/readMESH.h>
  81. #include <igl/readOBJ.h>
  82. #include <igl/readOFF.h>
  83. #include <igl/readTGF.h>
  84. #include <igl/read_triangle_mesh.h>
  85. #include <igl/remove_duplicate_vertices.h>
  86. #include <igl/rotate_vectors.h>
  87. #include <igl/setdiff.h>
  88. #include <igl/shape_diameter_function.h>
  89. #include <igl/signed_distance.h>
  90. #include <igl/slice.h>
  91. #include <igl/slice_into.h>
  92. #include <igl/slice_mask.h>
  93. #include <igl/marching_tets.h>
  94. #include <igl/sortrows.h>
  95. #include <igl/triangle_triangle_adjacency.h>
  96. #include <igl/unique.h>
  97. #include <igl/unproject_onto_mesh.h>
  98. #include <igl/upsample.h>
  99. #include <igl/winding_number.h>
  100. #include <igl/writeMESH.h>
  101. #include <igl/writeOBJ.h>
  102. #include <igl/writePLY.h>
  103. #include <igl/readPLY.h>
  104. #include <igl/seam_edges.h>
  105. void python_export_igl(py::module &m)
  106. {
  107. #include "modules/py_typedefs.cpp"
  108. #include "py_igl/py_AABB.cpp"
  109. #include "py_igl/py_ARAPEnergyType.cpp"
  110. #include "py_igl/py_MeshBooleanType.cpp"
  111. #include "py_igl/py_SolverStatus.cpp"
  112. #include "py_igl/py_active_set.cpp"
  113. #include "py_igl/py_adjacency_list.cpp"
  114. #include "py_igl/py_adjacency_matrix.cpp"
  115. #include "py_igl/py_arap.cpp"
  116. #include "py_igl/py_avg_edge_length.cpp"
  117. #include "py_igl/py_barycenter.cpp"
  118. #include "py_igl/py_barycentric_coordinates.cpp"
  119. #include "py_igl/py_barycentric_to_global.cpp"
  120. #include "py_igl/py_bbw.cpp"
  121. #include "py_igl/py_boundary_conditions.cpp"
  122. #include "py_igl/py_boundary_facets.cpp"
  123. #include "py_igl/py_boundary_loop.cpp"
  124. #include "py_igl/py_cat.cpp"
  125. #include "py_igl/py_collapse_edge.cpp"
  126. #include "py_igl/py_colon.cpp"
  127. #include "py_igl/py_column_to_quats.cpp"
  128. #include "py_igl/py_comb_cross_field.cpp"
  129. #include "py_igl/py_comb_frame_field.cpp"
  130. #include "py_igl/py_compute_frame_field_bisectors.cpp"
  131. #include "py_igl/py_cotmatrix.cpp"
  132. #include "py_igl/py_covariance_scatter_matrix.cpp"
  133. #include "py_igl/py_cross_field_mismatch.cpp"
  134. #include "py_igl/py_cut_mesh_from_singularities.cpp"
  135. #include "py_igl/py_deform_skeleton.cpp"
  136. #include "py_igl/py_directed_edge_orientations.cpp"
  137. #include "py_igl/py_directed_edge_parents.cpp"
  138. #include "py_igl/py_doublearea.cpp"
  139. #include "py_igl/py_dqs.cpp"
  140. #include "py_igl/py_edge_lengths.cpp"
  141. #include "py_igl/py_edge_topology.cpp"
  142. #include "py_igl/py_eigs.cpp"
  143. #include "py_igl/py_exact_geodesic.cpp"
  144. #include "py_igl/py_heat_geodesics.cpp"
  145. #include "py_igl/py_find_cross_field_singularities.cpp"
  146. #include "py_igl/py_fit_rotations.cpp"
  147. #include "py_igl/py_floor.cpp"
  148. #include "py_igl/py_forward_kinematics.cpp"
  149. #include "py_igl/py_gaussian_curvature.cpp"
  150. #include "py_igl/py_get_seconds.cpp"
  151. #include "py_igl/py_grad.cpp"
  152. #include "py_igl/py_harmonic.cpp"
  153. #include "py_igl/py_hsv_to_rgb.cpp"
  154. #include "py_igl/py_internal_angles.cpp"
  155. #include "py_igl/py_invert_diag.cpp"
  156. #include "py_igl/py_is_irregular_vertex.cpp"
  157. #include "py_igl/py_jet.cpp"
  158. #include "py_igl/py_lbs_matrix.cpp"
  159. #include "py_igl/py_local_basis.cpp"
  160. #include "py_igl/py_lscm.cpp"
  161. #include "py_igl/py_map_vertices_to_circle.cpp"
  162. #include "py_igl/py_massmatrix.cpp"
  163. #include "py_igl/py_min_quad_with_fixed.cpp"
  164. #include "py_igl/py_normalize_row_lengths.cpp"
  165. #include "py_igl/py_normalize_row_sums.cpp"
  166. #include "py_igl/py_parula.cpp"
  167. #include "py_igl/py_per_corner_normals.cpp"
  168. #include "py_igl/py_per_edge_normals.cpp"
  169. #include "py_igl/py_per_face_normals.cpp"
  170. #include "py_igl/py_per_vertex_normals.cpp"
  171. #include "py_igl/py_planarize_quad_mesh.cpp"
  172. #include "py_igl/py_point_mesh_squared_distance.cpp"
  173. #include "py_igl/py_polar_svd.cpp"
  174. #include "py_igl/py_principal_curvature.cpp"
  175. #include "py_igl/py_quad_planarity.cpp"
  176. #include "py_igl/py_randperm.cpp"
  177. #include "py_igl/py_readDMAT.cpp"
  178. #include "py_igl/py_readMESH.cpp"
  179. #include "py_igl/py_readOBJ.cpp"
  180. #include "py_igl/py_readOFF.cpp"
  181. #include "py_igl/py_readTGF.cpp"
  182. #include "py_igl/py_read_triangle_mesh.cpp"
  183. #include "py_igl/py_remove_duplicate_vertices.cpp"
  184. #include "py_igl/py_rotate_vectors.cpp"
  185. #include "py_igl/py_setdiff.cpp"
  186. #include "py_igl/py_shape_diameter_function.cpp"
  187. #include "py_igl/py_signed_distance.cpp"
  188. #include "py_igl/py_slice.cpp"
  189. #include "py_igl/py_slice_into.cpp"
  190. #include "py_igl/py_slice_mask.cpp"
  191. #include "py_igl/py_marching_tets.cpp"
  192. #include "py_igl/py_sortrows.cpp"
  193. #include "py_igl/py_triangle_triangle_adjacency.cpp"
  194. #include "py_igl/py_unique.cpp"
  195. #include "py_igl/py_unproject_onto_mesh.cpp"
  196. #include "py_igl/py_upsample.cpp"
  197. #include "py_igl/py_winding_number.cpp"
  198. #include "py_igl/py_writeMESH.cpp"
  199. #include "py_igl/py_writeOBJ.cpp"
  200. #include "py_igl/py_writePLY.cpp"
  201. #include "py_igl/py_readPLY.cpp"
  202. #include "py_igl/py_seam_edges.cpp"
  203. }