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
9 // Wrap the data class, no properties are exposed since it is not necessary
10 py::class_<igl::min_quad_with_fixed_data<double> > min_quad_with_fixed_data(m, "min_quad_with_fixed_data");
11
12 min_quad_with_fixed_data
13 .def(py::init<>());
14
15 m.def("min_quad_with_fixed_precompute", []
16 (
17 const Eigen::SparseMatrix<double>& A,
18 const Eigen::MatrixXi& known,
19 const Eigen::SparseMatrix<double>& Aeq,
20 const bool pd,
21 igl::min_quad_with_fixed_data<double> & data
22 )
__anon1809e9340102( const Eigen::SparseMatrix<double>& A, const Eigen::MatrixXi& known, const Eigen::SparseMatrix<double>& Aeq, const bool pd, igl::min_quad_with_fixed_data<double> & data ) 23 {
24 assert_is_VectorX("known",known);
25 return igl::min_quad_with_fixed_precompute(A,known,Aeq,pd,data);
26 }, __doc_igl_min_quad_with_fixed,
27 py::arg("A"), py::arg("known"), py::arg("Aeq"), py::arg("pd"), py::arg("data"));
28
29 m.def("min_quad_with_fixed_solve", []
30 (
31 const igl::min_quad_with_fixed_data<double> & data,
32 const Eigen::MatrixXd& B,
33 const Eigen::MatrixXd& Y,
34 const Eigen::MatrixXd & Beq,
35 Eigen::MatrixXd& Z,
36 Eigen::MatrixXd& sol
37 )
__anon1809e9340202( const igl::min_quad_with_fixed_data<double> & data, const Eigen::MatrixXd& B, const Eigen::MatrixXd& Y, const Eigen::MatrixXd & Beq, Eigen::MatrixXd& Z, Eigen::MatrixXd& sol ) 38 {
39 assert_is_VectorX("B",B);
40 assert_is_VectorX("Y",Y);
41 assert_is_VectorX("Beq",Beq);
42 return igl::min_quad_with_fixed_solve(data,B,Y,Beq,Z,sol);
43 }, __doc_igl_min_quad_with_fixed,
44 py::arg("data"), py::arg("B"), py::arg("Y"), py::arg("Beq"), py::arg("Z"), py::arg("sol"));
45
46 m.def("min_quad_with_fixed_solve", []
47 (
48 const igl::min_quad_with_fixed_data<double> & data,
49 const Eigen::MatrixXd& B,
50 const Eigen::MatrixXd& Y,
51 const Eigen::MatrixXd & Beq,
52 Eigen::MatrixXd& Z
53 )
__anon1809e9340302( const igl::min_quad_with_fixed_data<double> & data, const Eigen::MatrixXd& B, const Eigen::MatrixXd& Y, const Eigen::MatrixXd & Beq, Eigen::MatrixXd& Z ) 54 {
55 assert_is_VectorX("B",B);
56 assert_is_VectorX("Y",Y);
57 assert_is_VectorX("Beq",Beq);
58 return igl::min_quad_with_fixed_solve(data,B,Y,Beq,Z);
59 }, __doc_igl_min_quad_with_fixed,
60 py::arg("data"), py::arg("B"), py::arg("Y"), py::arg("Beq"), py::arg("Z"));
61
62 m.def("min_quad_with_fixed", []
63 (
64 const Eigen::SparseMatrix<double>& A,
65 const Eigen::MatrixXd& B,
66 const Eigen::MatrixXi& known,
67 const Eigen::MatrixXd& Y,
68 const Eigen::SparseMatrix<double>& Aeq,
69 const Eigen::MatrixXd& Beq,
70 const bool pd,
71 Eigen::MatrixXd& Z
72 )
__anon1809e9340402( const Eigen::SparseMatrix<double>& A, const Eigen::MatrixXd& B, const Eigen::MatrixXi& known, const Eigen::MatrixXd& Y, const Eigen::SparseMatrix<double>& Aeq, const Eigen::MatrixXd& Beq, const bool pd, Eigen::MatrixXd& Z ) 73 {
74 assert_is_VectorX("B",B);
75 assert_is_VectorX("known",known);
76 assert_is_VectorX("Y",Y);
77 assert_is_VectorX("Beq",Beq);
78 return igl::min_quad_with_fixed(A,B,known,Y,Aeq,Beq,pd,Z);
79 }, __doc_igl_min_quad_with_fixed,
80 py::arg("A"), py::arg("B"), py::arg("known"), py::arg("Y"), py::arg("Aeq"), py::arg("Beq"), py::arg("pd"), py::arg("Z"));
81