py_slice.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. // // Double
  2. //
  3. m.def("slice", []
  4. (
  5. const Eigen::SparseMatrix<double>& X,
  6. const Eigen::MatrixXi& R,
  7. const Eigen::MatrixXi& C,
  8. Eigen::SparseMatrix<double>& Y
  9. )
  10. {
  11. assert_is_VectorX("R",R);
  12. assert_is_VectorX("C",C);
  13. return igl::slice(X,R,C,Y);
  14. }, __doc_igl_slice,
  15. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  16. m.def("slice", []
  17. (
  18. const Eigen::SparseMatrix<double>& X,
  19. const Eigen::MatrixXi& R,
  20. const int& dim,
  21. Eigen::SparseMatrix<double>& Y
  22. )
  23. {
  24. assert_is_VectorX("R",R);
  25. return igl::slice(X,R,dim,Y);
  26. }, __doc_igl_slice,
  27. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  28. m.def("slice", []
  29. (
  30. const Eigen::MatrixXd& X,
  31. const Eigen::MatrixXi& R,
  32. const Eigen::MatrixXi& C,
  33. Eigen::MatrixXd& Y
  34. )
  35. {
  36. assert_is_VectorX("R",R);
  37. assert_is_VectorX("C",C);
  38. return igl::slice(X,R,C,Y);
  39. }, __doc_igl_slice,
  40. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  41. m.def("slice", []
  42. (
  43. const Eigen::MatrixXd& X,
  44. const Eigen::MatrixXi& R,
  45. Eigen::MatrixXd& Y
  46. )
  47. {
  48. assert_is_VectorX("R",R);
  49. return igl::slice(X,R,Y);
  50. }, __doc_igl_slice,
  51. py::arg("X"), py::arg("R"), py::arg("Y"));
  52. m.def("slice", []
  53. (
  54. const Eigen::MatrixXd& X,
  55. const Eigen::MatrixXi& R
  56. )
  57. {
  58. assert_is_VectorX("R",R);
  59. return igl::slice(X,R);
  60. }, __doc_igl_slice,
  61. py::arg("X"), py::arg("A"));
  62. m.def("slice", []
  63. (
  64. const Eigen::MatrixXd& X,
  65. const Eigen::MatrixXi& R,
  66. const int& dim
  67. )
  68. {
  69. assert_is_VectorX("R",R);
  70. return igl::slice(X,R,dim);
  71. }, __doc_igl_slice,
  72. py::arg("X"), py::arg("R"), py::arg("dim"));
  73. // int
  74. m.def("slice", []
  75. (
  76. const Eigen::SparseMatrix<int>& X,
  77. const Eigen::MatrixXi& R,
  78. const Eigen::MatrixXi& C,
  79. Eigen::SparseMatrix<int>& Y
  80. )
  81. {
  82. assert_is_VectorX("R",R);
  83. assert_is_VectorX("C",C);
  84. return igl::slice(X,R,C,Y);
  85. }, __doc_igl_slice,
  86. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  87. m.def("slice", []
  88. (
  89. const Eigen::SparseMatrix<int>& X,
  90. const Eigen::MatrixXi& R,
  91. const int& dim,
  92. Eigen::SparseMatrix<int>& Y
  93. )
  94. {
  95. assert_is_VectorX("R",R);
  96. return igl::slice(X,R,dim,Y);
  97. }, __doc_igl_slice,
  98. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  99. m.def("slice", []
  100. (
  101. const Eigen::MatrixXi& X,
  102. const Eigen::MatrixXi& R,
  103. const Eigen::MatrixXi& C,
  104. Eigen::MatrixXi& Y
  105. )
  106. {
  107. assert_is_VectorX("R",R);
  108. assert_is_VectorX("C",C);
  109. return igl::slice(X,R,C,Y);
  110. }, __doc_igl_slice,
  111. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  112. m.def("slice", []
  113. (
  114. const Eigen::MatrixXi& X,
  115. const Eigen::MatrixXi& R,
  116. Eigen::MatrixXi& Y
  117. )
  118. {
  119. assert_is_VectorX("R",R);
  120. return igl::slice(X,R,Y);
  121. }, __doc_igl_slice,
  122. py::arg("X"), py::arg("R"), py::arg("Y"));
  123. m.def("slice", []
  124. (
  125. const Eigen::MatrixXi& X,
  126. const Eigen::MatrixXi& R
  127. )
  128. {
  129. assert_is_VectorX("R",R);
  130. return igl::slice(X,R);
  131. }, __doc_igl_slice,
  132. py::arg("X"), py::arg("R"));
  133. m.def("slice", []
  134. (
  135. const Eigen::MatrixXi& X,
  136. const Eigen::MatrixXi& R,
  137. const int& dim
  138. )
  139. {
  140. assert_is_VectorX("R",R);
  141. return igl::slice(X,R,dim);
  142. }, __doc_igl_slice,
  143. py::arg("X"), py::arg("R"), py::arg("dim"));