py_slice_mask.cpp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. m.def("slice_mask", []
  9. (
  10. const Eigen::MatrixXd& X,
  11. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & R,
  12. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & C,
  13. Eigen::MatrixXd& Y
  14. )
  15. {
  16. assert_is_VectorX("R",R);
  17. assert_is_VectorX("C",C);
  18. return igl::slice_mask(X, R, C, Y);
  19. }, __doc_igl_slice_mask,
  20. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  21. m.def("slice_mask", []
  22. (
  23. const Eigen::MatrixXd& X,
  24. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & R,
  25. const int dim,
  26. Eigen::MatrixXd& Y
  27. )
  28. {
  29. assert_is_VectorX("R",R);
  30. return igl::slice_mask(X, R, dim, Y);
  31. }, __doc_igl_slice_mask,
  32. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  33. m.def("slice_mask", []
  34. (
  35. const Eigen::MatrixXi& X,
  36. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & R,
  37. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & C,
  38. Eigen::MatrixXi& Y
  39. )
  40. {
  41. assert_is_VectorX("R",R);
  42. assert_is_VectorX("C",C);
  43. return igl::slice_mask(X, R, C, Y);
  44. }, __doc_igl_slice_mask,
  45. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  46. m.def("slice_mask", []
  47. (
  48. const Eigen::MatrixXi& X,
  49. const Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic> & R,
  50. const int dim,
  51. Eigen::MatrixXi& Y
  52. )
  53. {
  54. assert_is_VectorX("R",R);
  55. return igl::slice_mask(X, R, dim, Y);
  56. }, __doc_igl_slice_mask,
  57. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  58. //m.def("slice_mask", []
  59. //(
  60. // const Eigen::MatrixXd& X,
  61. // Eigen::Array<bool, Eigen::Dynamic, 1> & R,
  62. // Eigen::Array<bool, Eigen::Dynamic, 1> & C
  63. //)
  64. //{
  65. // return igl::slice_mask(X, R, C);
  66. //}, __doc_igl_slice_mask,
  67. //py::arg("X"), py::arg("R"), py::arg("C"));
  68. //m.def("slice_mask", []
  69. //(
  70. // const Eigen::MatrixXd& X,
  71. // Eigen::Array<bool, Eigen::Dynamic, 1> & R,
  72. // int dim
  73. //)
  74. //{
  75. // return igl::slice_mask(X, R, dim);
  76. //}, __doc_igl_slice_mask,
  77. //py::arg("X"), py::arg("R"), py::arg("dim"));