py_streamlines.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. py::class_<igl::StreamlineData> StreamlineData(m, "StreamlineData");
  2. StreamlineData
  3. .def(py::init<>())
  4. .def_readwrite("TT", &igl::StreamlineData::TT)
  5. .def_readwrite("E", &igl::StreamlineData::E)
  6. .def_readwrite("F2E", &igl::StreamlineData::F2E)
  7. .def_readwrite("E2F", &igl::StreamlineData::E2F)
  8. .def_readwrite("field", &igl::StreamlineData::field)
  9. .def_readwrite("match_ab", &igl::StreamlineData::match_ab)
  10. .def_readwrite("match_ba", &igl::StreamlineData::match_ba)
  11. .def_readwrite("nsample", &igl::StreamlineData::nsample)
  12. .def_readwrite("degree", &igl::StreamlineData::degree)
  13. ;
  14. py::class_<igl::StreamlineState> StreamlineState(m, "StreamlineState");
  15. StreamlineState
  16. .def(py::init<>())
  17. .def_readwrite("start_point", &igl::StreamlineState::start_point)
  18. .def_readwrite("end_point", &igl::StreamlineState::end_point)
  19. .def_readwrite("current_face", &igl::StreamlineState::current_face)
  20. .def_readwrite("current_direction", &igl::StreamlineState::current_direction)
  21. .def("copy", [](const igl::StreamlineState &m) { return igl::StreamlineState(m); })
  22. ;
  23. m.def("streamlines_init", []
  24. (
  25. const Eigen::MatrixXd& V,
  26. const Eigen::MatrixXi& F,
  27. const Eigen::MatrixXd& temp_field,
  28. const bool treat_as_symmetric,
  29. igl::StreamlineData &data,
  30. igl::StreamlineState &state,
  31. double percentage
  32. )
  33. {
  34. return igl::streamlines_init(V, F, temp_field, treat_as_symmetric, data, state, percentage);
  35. },__doc_igl_streamlines_init,
  36. py::arg("V"), py::arg("F"), py::arg("temp_field"), py::arg("treat_as_symmetric"),
  37. py::arg("data"), py::arg("state"), py::arg("percentage")=0.3);
  38. m.def("streamlines_next", []
  39. (
  40. const Eigen::MatrixXd& V,
  41. const Eigen::MatrixXi& F,
  42. const igl::StreamlineData &data,
  43. igl::StreamlineState &state
  44. )
  45. {
  46. return igl::streamlines_next(V, F, data, state);
  47. },__doc_igl_streamlines_next,
  48. py::arg("V"), py::arg("F"), py::arg("data"), py::arg("state"));