py_mesh_boolean.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // COMPLETE BINDINGS ========================
  2. m.def("mesh_boolean", []
  3. (
  4. const Eigen::MatrixXd& VA,
  5. const Eigen::MatrixXi& FA,
  6. const Eigen::MatrixXd& VB,
  7. const Eigen::MatrixXi& FB,
  8. igl::MeshBooleanType & type,
  9. Eigen::MatrixXd& VC,
  10. Eigen::MatrixXi& FC,
  11. Eigen::MatrixXi& J
  12. )
  13. {
  14. return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type, VC, FC, J);
  15. }, __doc_igl_copyleft_cgal_mesh_boolean,
  16. py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type"), py::arg("VC"), py::arg("FC"), py::arg("J"));
  17. m.def("mesh_boolean", []
  18. (
  19. const Eigen::MatrixXd& VA,
  20. const Eigen::MatrixXi& FA,
  21. const Eigen::MatrixXd& VB,
  22. const Eigen::MatrixXi& FB,
  23. const std::string & type_str,
  24. Eigen::MatrixXd& VC,
  25. Eigen::MatrixXi& FC,
  26. Eigen::MatrixXi& J
  27. )
  28. {
  29. return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type_str, VC, FC, J);
  30. }, __doc_igl_copyleft_cgal_mesh_boolean,
  31. py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type_str"), py::arg("VC"), py::arg("FC"), py::arg("J"));
  32. m.def("mesh_boolean", []
  33. (
  34. const Eigen::MatrixXd& VA,
  35. const Eigen::MatrixXi& FA,
  36. const Eigen::MatrixXd& VB,
  37. const Eigen::MatrixXi& FB,
  38. const igl::MeshBooleanType & type,
  39. Eigen::MatrixXd& VC,
  40. Eigen::MatrixXi& FC
  41. )
  42. {
  43. return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type, VC, FC);
  44. }, __doc_igl_copyleft_cgal_mesh_boolean,
  45. py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type"), py::arg("VC"), py::arg("FC"));
  46. // INCOMPLETE BINDINGS ========================
  47. //m.def("mesh_boolean", []
  48. //(
  49. // const Eigen::MatrixXd& VA,
  50. // const Eigen::MatrixXd& FA,
  51. // const Eigen::MatrixXd& VB,
  52. // const Eigen::MatrixXd& FB,
  53. // std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
  54. // std::function<int (const int, const int)> & keep,
  55. // Eigen::MatrixXd& VC,
  56. // Eigen::MatrixXd& FC,
  57. // Eigen::MatrixXd& J
  58. //)
  59. //{
  60. // return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, wind_num_op, keep, VC, FC, J);
  61. //}, __doc_igl_copyleft_cgal_mesh_boolean,
  62. //py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));
  63. //m.def("mesh_boolean", []
  64. //(
  65. // std::vector<DerivedV> & Vlist,
  66. // std::vector<DerivedF> & Flist,
  67. // std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
  68. // std::function<int (const int, const int)> & keep,
  69. // Eigen::MatrixXd& VC,
  70. // Eigen::MatrixXd& FC,
  71. // Eigen::MatrixXd& J
  72. //)
  73. //{
  74. // return igl::copyleft::cgal::mesh_boolean(Vlist, Flist, wind_num_op, keep, VC, FC, J);
  75. //}, __doc_igl_copyleft_cgal_mesh_boolean,
  76. //py::arg("Vlist"), py::arg("Flist"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));
  77. //m.def("mesh_boolean", []
  78. //(
  79. // const Eigen::MatrixXd& VV,
  80. // const Eigen::MatrixXd& FF,
  81. // const Eigen::MatrixXd& sizes,
  82. // std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
  83. // std::function<int (const int, const int)> & keep,
  84. // Eigen::MatrixXd& VC,
  85. // Eigen::MatrixXd& FC,
  86. // Eigen::MatrixXd& J
  87. //)
  88. //{
  89. // return igl::copyleft::cgal::mesh_boolean(VV, FF, sizes, wind_num_op, keep, VC, FC, J);
  90. //}, __doc_igl_copyleft_cgal_mesh_boolean,
  91. //py::arg("VV"), py::arg("FF"), py::arg("sizes"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));