py_slice.cpp 3.0 KB

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