From 55e2c76c01eba8492447e51041191bef57cdc15a Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Sun, 18 Feb 2024 20:48:10 -0800 Subject: [PATCH] Use `mj_resetDataKeyframe` when loading key frames in simulate. PiperOrigin-RevId: 608209431 Change-Id: I1ee78c837cbc098144143b90e8c0b4618568c9cf --- simulate/simulate.cc | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/simulate/simulate.cc b/simulate/simulate.cc index 83dccb8e..f64eaf19 100644 --- a/simulate/simulate.cc +++ b/simulate/simulate.cc @@ -1969,14 +1969,7 @@ void Simulate::Sync() { } if (pending_.load_key) { - int i = this->key; - d_->time = m_->key_time[i]; - mju_copy(d_->qpos, m_->key_qpos + i*m_->nq, m_->nq); - mju_copy(d_->qvel, m_->key_qvel + i*m_->nv, m_->nv); - mju_copy(d_->act, m_->key_act + i*m_->na, m_->na); - mju_copy(d_->mocap_pos, m_->key_mpos + i*3*m_->nmocap, 3*m_->nmocap); - mju_copy(d_->mocap_quat, m_->key_mquat + i*4*m_->nmocap, 4*m_->nmocap); - mju_copy(d_->ctrl, m_->key_ctrl + i*m_->nu, m_->nu); + mj_resetDataKeyframe(m_, d_, this->key); mj_forward(m_, d_); update_profiler = true; update_sensor = true;