py_slice.cpp 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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. const int dim,
  46. Eigen::MatrixXd& Y
  47. )
  48. {
  49. assert_is_VectorX("R",R);
  50. return igl::slice(X,R,dim,Y);
  51. }, __doc_igl_slice,
  52. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  53. m.def("slice", []
  54. (
  55. const Eigen::MatrixXd& X,
  56. const Eigen::MatrixXi& R,
  57. Eigen::MatrixXd& Y
  58. )
  59. {
  60. assert_is_VectorX("R",R);
  61. return igl::slice(X,R,Y);
  62. }, __doc_igl_slice,
  63. py::arg("X"), py::arg("R"), py::arg("Y"));
  64. m.def("slice", []
  65. (
  66. const Eigen::MatrixXd& X,
  67. const Eigen::MatrixXi& R
  68. )
  69. {
  70. assert_is_VectorX("R",R);
  71. return igl::slice(X,R);
  72. }, __doc_igl_slice,
  73. py::arg("X"), py::arg("A"));
  74. m.def("slice", []
  75. (
  76. const Eigen::MatrixXd& X,
  77. const Eigen::MatrixXi& R,
  78. const int& dim
  79. )
  80. {
  81. assert_is_VectorX("R",R);
  82. return igl::slice(X,R,dim);
  83. }, __doc_igl_slice,
  84. py::arg("X"), py::arg("R"), py::arg("dim"));
  85. // int
  86. m.def("slice", []
  87. (
  88. const Eigen::SparseMatrix<int>& X,
  89. const Eigen::MatrixXi& R,
  90. const Eigen::MatrixXi& C,
  91. Eigen::SparseMatrix<int>& Y
  92. )
  93. {
  94. assert_is_VectorX("R",R);
  95. assert_is_VectorX("C",C);
  96. return igl::slice(X,R,C,Y);
  97. }, __doc_igl_slice,
  98. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  99. m.def("slice", []
  100. (
  101. const Eigen::SparseMatrix<int>& X,
  102. const Eigen::MatrixXi& R,
  103. const int& dim,
  104. Eigen::SparseMatrix<int>& Y
  105. )
  106. {
  107. assert_is_VectorX("R",R);
  108. return igl::slice(X,R,dim,Y);
  109. }, __doc_igl_slice,
  110. py::arg("X"), py::arg("R"), py::arg("dim"), py::arg("Y"));
  111. m.def("slice", []
  112. (
  113. const Eigen::MatrixXi& X,
  114. const Eigen::MatrixXi& R,
  115. const Eigen::MatrixXi& C,
  116. Eigen::MatrixXi& Y
  117. )
  118. {
  119. assert_is_VectorX("R",R);
  120. assert_is_VectorX("C",C);
  121. return igl::slice(X,R,C,Y);
  122. }, __doc_igl_slice,
  123. py::arg("X"), py::arg("R"), py::arg("C"), py::arg("Y"));
  124. m.def("slice", []
  125. (
  126. const Eigen::MatrixXi& X,
  127. const Eigen::MatrixXi& R,
  128. Eigen::MatrixXi& Y
  129. )
  130. {
  131. assert_is_VectorX("R",R);
  132. return igl::slice(X,R,Y);
  133. }, __doc_igl_slice,
  134. py::arg("X"), py::arg("R"), py::arg("Y"));
  135. m.def("slice", []
  136. (
  137. const Eigen::MatrixXi& X,
  138. const Eigen::MatrixXi& R
  139. )
  140. {
  141. assert_is_VectorX("R",R);
  142. return igl::slice(X,R);
  143. }, __doc_igl_slice,
  144. py::arg("X"), py::arg("R"));
  145. m.def("slice", []
  146. (
  147. const Eigen::MatrixXi& X,
  148. const Eigen::MatrixXi& R,
  149. const int& dim
  150. )
  151. {
  152. assert_is_VectorX("R",R);
  153. return igl::slice(X,R,dim);
  154. }, __doc_igl_slice,
  155. py::arg("X"), py::arg("R"), py::arg("dim"));