Added tutorial 609_Boolean and CGAL python module + functions

Former-commit-id: 7b6b91bd7a
This commit is contained in:
Sebastian Koch
2016-06-17 17:25:27 +02:00
parent 39df4de193
commit 9727746942
8 changed files with 312 additions and 2 deletions
@@ -0,0 +1,107 @@
// COMPLETE BINDINGS ========================
m.def("mesh_boolean", []
(
const Eigen::MatrixXd& VA,
const Eigen::MatrixXi& FA,
const Eigen::MatrixXd& VB,
const Eigen::MatrixXi& FB,
igl::MeshBooleanType & type,
Eigen::MatrixXd& VC,
Eigen::MatrixXi& FC,
Eigen::MatrixXi& J
)
{
return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type, VC, FC, J);
}, __doc_igl_copyleft_cgal_mesh_boolean,
py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type"), py::arg("VC"), py::arg("FC"), py::arg("J"));
m.def("mesh_boolean", []
(
const Eigen::MatrixXd& VA,
const Eigen::MatrixXi& FA,
const Eigen::MatrixXd& VB,
const Eigen::MatrixXi& FB,
const std::string & type_str,
Eigen::MatrixXd& VC,
Eigen::MatrixXi& FC,
Eigen::MatrixXi& J
)
{
return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type_str, VC, FC, J);
}, __doc_igl_copyleft_cgal_mesh_boolean,
py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type_str"), py::arg("VC"), py::arg("FC"), py::arg("J"));
m.def("mesh_boolean", []
(
const Eigen::MatrixXd& VA,
const Eigen::MatrixXi& FA,
const Eigen::MatrixXd& VB,
const Eigen::MatrixXi& FB,
const igl::MeshBooleanType & type,
Eigen::MatrixXd& VC,
Eigen::MatrixXi& FC
)
{
return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, type, VC, FC);
}, __doc_igl_copyleft_cgal_mesh_boolean,
py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("type"), py::arg("VC"), py::arg("FC"));
// INCOMPLETE BINDINGS ========================
//m.def("mesh_boolean", []
//(
// const Eigen::MatrixXd& VA,
// const Eigen::MatrixXd& FA,
// const Eigen::MatrixXd& VB,
// const Eigen::MatrixXd& FB,
// std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
// std::function<int (const int, const int)> & keep,
// Eigen::MatrixXd& VC,
// Eigen::MatrixXd& FC,
// Eigen::MatrixXd& J
//)
//{
// return igl::copyleft::cgal::mesh_boolean(VA, FA, VB, FB, wind_num_op, keep, VC, FC, J);
//}, __doc_igl_copyleft_cgal_mesh_boolean,
//py::arg("VA"), py::arg("FA"), py::arg("VB"), py::arg("FB"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));
//m.def("mesh_boolean", []
//(
// std::vector<DerivedV> & Vlist,
// std::vector<DerivedF> & Flist,
// std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
// std::function<int (const int, const int)> & keep,
// Eigen::MatrixXd& VC,
// Eigen::MatrixXd& FC,
// Eigen::MatrixXd& J
//)
//{
// return igl::copyleft::cgal::mesh_boolean(Vlist, Flist, wind_num_op, keep, VC, FC, J);
//}, __doc_igl_copyleft_cgal_mesh_boolean,
//py::arg("Vlist"), py::arg("Flist"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));
//m.def("mesh_boolean", []
//(
// const Eigen::MatrixXd& VV,
// const Eigen::MatrixXd& FF,
// const Eigen::MatrixXd& sizes,
// std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> & wind_num_op,
// std::function<int (const int, const int)> & keep,
// Eigen::MatrixXd& VC,
// Eigen::MatrixXd& FC,
// Eigen::MatrixXd& J
//)
//{
// return igl::copyleft::cgal::mesh_boolean(VV, FF, sizes, wind_num_op, keep, VC, FC, J);
//}, __doc_igl_copyleft_cgal_mesh_boolean,
//py::arg("VV"), py::arg("FF"), py::arg("sizes"), py::arg("wind_num_op"), py::arg("keep"), py::arg("VC"), py::arg("FC"), py::arg("J"));