13 this->viewer = viewer;
15 this->currentTime = 0;
17 this->trajectories = std::vector<DesignerTrajectoryPtr>();
18 this->timeOptimalTrajectories = std::vector<TrajectoryPtr>();
22 DesignerTrajectoryPlayer::updateLoop()
24 bool endReached =
true;
27 for (
TrajectoryPtr currentTrajectory : this->timeOptimalTrajectories)
29 if (!currentTrajectory)
33 if (currentTime < currentTrajectory->getTimeLength() * 1000)
35 Ice::DoubleSeq ice_JA = currentTrajectory->getStates(currentTime / 1000, 0);
37 std::vector<float> jA = std::vector<float>(ice_JA.begin(), ice_JA.end());
38 robot->getRobotNodeSet(trajectories[i]->getRns()->getName())->setJointValues(jA);
43 viewer->updateRobotVisualization();
44 currentTime = currentTime + (1000.0 / fps);
47 emit finishedPlayback();
54 this->trajectories.push_back(trajectory);
61 timer = std::shared_ptr<QTimer>(
new QTimer(
this));
62 connect(timer.get(), SIGNAL(timeout()),
this, SLOT(updateLoop()));
63 connect(
this, SIGNAL(finishedPlayback()), timer.get(), SLOT(stop()));
68 if (current && current->getNrOfUserWaypoints() != 1)
71 timeOptimalTrajectories.push_back(traj);
80 timer->start(1000.0 / fps);