Remove custom step_fn for StepControl::Advance.
PiperOrigin-RevId: 936609234 Change-Id: I606cf4d71d856cbd260900d63b22c719974c977d
This commit is contained in:
committed by
Copybara-Service
parent
027cfd1201
commit
5cef2472d5
@@ -43,22 +43,13 @@ PYBIND11_MODULE(sim, m) {
|
||||
.def(py::init<>())
|
||||
.def(
|
||||
"advance",
|
||||
[](StepControl& self, py::object model_obj, py::object data_obj,
|
||||
py::object step_fn) {
|
||||
[](StepControl& self, py::object model_obj, py::object data_obj) {
|
||||
auto& model = py::cast<mujoco::python::MjModelWrapper&>(model_obj);
|
||||
auto& data = py::cast<mujoco::python::MjDataWrapper&>(data_obj);
|
||||
if (step_fn.is_none()) {
|
||||
py::gil_scoped_release no_gil;
|
||||
return self.Advance(model.get(), data.get());
|
||||
} else {
|
||||
return self.Advance(
|
||||
model.get(), data.get(),
|
||||
[step_fn, model_obj, data_obj](mjModel*, mjData*) {
|
||||
step_fn(model_obj, data_obj);
|
||||
});
|
||||
}
|
||||
py::gil_scoped_release no_gil;
|
||||
return self.Advance(model.get(), data.get());
|
||||
},
|
||||
py::arg("model"), py::arg("data"), py::arg("step_fn") = py::none(),
|
||||
py::arg("model"), py::arg("data"),
|
||||
"Step physics forward, respecting speed settings and refresh budget.")
|
||||
.def("force_sync", &StepControl::ForceSync,
|
||||
"Ensures the next Advance() will synchronize time and step once.")
|
||||
|
||||
@@ -92,8 +92,7 @@ StepControl::PauseState StepControl::GetPauseState() const {
|
||||
return pause_state_;
|
||||
}
|
||||
|
||||
StepControl::Status StepControl::Advance(mjModel* m, mjData* d,
|
||||
StepFn step_fn) {
|
||||
StepControl::Status StepControl::Advance(mjModel* m, mjData* d) {
|
||||
if (!m) {
|
||||
return Status::kOk;
|
||||
}
|
||||
@@ -187,11 +186,7 @@ StepControl::Status StepControl::Advance(mjModel* m, mjData* d,
|
||||
if (pre_step_) {
|
||||
pre_step_(m, d);
|
||||
}
|
||||
if (step_fn) {
|
||||
step_fn(m, d);
|
||||
} else {
|
||||
mj_step(m, d);
|
||||
}
|
||||
mj_step(m, d);
|
||||
if (post_step_) {
|
||||
post_step_(m, d);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ class StepControl {
|
||||
mjWARN_BADQACC, mjWARN_BADQVEL, mjWARN_BADQPOS};
|
||||
|
||||
// Steps physics forward, respecting speed settings and refresh budget.
|
||||
Status Advance(mjModel* m, mjData* d, StepFn step_fn = nullptr);
|
||||
Status Advance(mjModel* m, mjData* d);
|
||||
|
||||
// Ensures the next call to Advance() will synchronize time and step once.
|
||||
void ForceSync();
|
||||
|
||||
Reference in New Issue
Block a user