12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- m.def("unproject_onto_mesh", []
- (
- const Eigen::MatrixXd & pos,
- const Eigen::MatrixXd & model,
- const Eigen::MatrixXd & proj,
- const Eigen::MatrixXd & viewport,
- const Eigen::MatrixXd& V,
- const Eigen::MatrixXi& F,
- Eigen::MatrixXi& fid,
- Eigen::MatrixXd& bc
- )
- {
- assert_is_Vector2("pos", pos);
- Eigen::Vector2f posv;
- if (pos.size() != 0)
- posv = Eigen::Vector2f(pos.cast<float>());
- assert_is_Matrix4("model", model);
- Eigen::Matrix4f modelm;
- if (model.size() != 0)
- modelm = model.cast<float>();
- assert_is_Matrix4("proj", proj);
- Eigen::Matrix4f projm;
- if (proj.size() != 0)
- projm = proj.cast<float>();
- assert_is_Vector4("viewport", viewport);
- Eigen::Vector4f viewportv;
- if (viewport.size() != 0)
- viewportv = Eigen::Vector4f(viewport.cast<float>());
- Eigen::VectorXd bcv;
- int fidi;
- bool ret = igl::unproject_onto_mesh(posv, modelm, projm, viewportv, V, F, fidi, bcv);
- fid(0, 0) = fidi;
- bc = bcv;
- return ret;
- }, __doc_igl_unproject_onto_mesh,
- py::arg("pos"), py::arg("model"), py::arg("proj"), py::arg("viewport"), py::arg("V"), py::arg("F"), py::arg("fid"), py::arg("bc"));
|