diff --git a/VirtualRobot/RobotFactory.cpp b/VirtualRobot/RobotFactory.cpp index baf778a195e6bfadb364e43d2aa6ee102452449d..f0643f4da4255287c06b8ce06a2c91a6c24c0520 100644 --- a/VirtualRobot/RobotFactory.cpp +++ b/VirtualRobot/RobotFactory.cpp @@ -24,9 +24,9 @@ RobotFactory::~RobotFactory() } -RobotPtr RobotFactory::createRobot( const std::string &name ) +RobotPtr RobotFactory::createRobot(const std::string &name, const std::string &type) { - RobotPtr result(new LocalRobot(name)); + RobotPtr result(new LocalRobot(name, type)); return result; } @@ -243,7 +243,7 @@ RobotPtr RobotFactory::cloneChangeStructure(RobotPtr robot, robotStructureDef &n } std::map<std::string, RobotNodePtr> newNodes; - RobotPtr newRobot = createRobot(robot->getName()); + RobotPtr newRobot = createRobot(robot->getName(), robot->getType() + "_restructured_" + newStructure.rootName); RobotNodePtr rn = robot->getRobotNode(newStructure.rootName); rn = rn->clone(newRobot, false); newNodes[newStructure.rootName] = rn; diff --git a/VirtualRobot/RobotFactory.h b/VirtualRobot/RobotFactory.h index 02acec8d387fd66868dd140f9cd81d69780ded0e..3c87e725f33fc2a7a5361ea9c64867f1bc20d53f 100644 --- a/VirtualRobot/RobotFactory.h +++ b/VirtualRobot/RobotFactory.h @@ -42,7 +42,7 @@ public: /*! Creates an empty robot. */ - static RobotPtr createRobot(const std::string &name); + static RobotPtr createRobot(const std::string &name, const std::string &type = ""); /*! Initializes Robot and all RobotNodes.