28 #include <Ice/CommunicatorF.h>
30 #include <ArmarXCore/interface/observers/Serialization.h>
31 #include <ArmarXCore/interface/serialization/JSONSerialization.h>
36 #include "../KinematicSolver.h"
39 environment(environment)
43 std::vector<armarx::DesignerTrajectoryPtr>
47 const Ice::Current&
c = Ice::emptyCurrent;
48 auto communicator =
c.adapter.get()->getCommunicator();
51 std::string jsonString;
67 trajectory->deserialize(&jsonSerializer,
c);
68 std::vector<std::string> nodeNames = trajectory->getDimensionNames();
69 std::vector<VirtualRobot::RobotNodePtr> nodeSet;
70 for (
unsigned int i = 0; i < nodeNames.size(); i++)
72 nodeSet.push_back(environment->getRobot()->getRobotNode(nodeNames[i]));
75 VirtualRobot::RobotNodeSetPtr rns;
77 for (VirtualRobot::RobotNodeSetPtr
set :
78 environment->getRobot()
82 std::vector<VirtualRobot::RobotNodePtr> nodes =
set->getAllRobotNodes();
83 for (VirtualRobot::RobotNodePtr node : nodeSet)
85 if (std::find(nodes.begin(), nodes.end(), node) == nodes.end())
90 if (rns->getAllRobotNodes().size() == nodes.size())
99 throw NotImplementedYetException();
102 std::vector<UserWaypointPtr> points = std::vector<UserWaypointPtr>();
104 for (
unsigned int i = 1; i < trajectory->size(); i++)
116 userPoint->setIsTimeOptimalBreakpoint(
true);
117 points.push_back(userPoint);
121 for (
unsigned int i = 1; i < points.size(); i++)
123 result->addLastUserWaypoint(points[i]);