From a160e521dccda8608c5a6e90ae83d57efe72d13e Mon Sep 17 00:00:00 2001 From: Raphael Grimm <raphael.grimm@kit.edu> Date: Thu, 4 Jun 2020 08:56:08 +0200 Subject: [PATCH] Use RobotStateComponentPlugin --- ...esianWaypointControlGuiWidgetController.cpp | 18 ++++++------------ ...rtesianWaypointControlGuiWidgetController.h | 6 +++--- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp index 45f540062..5348bcaaa 100644 --- a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp @@ -58,33 +58,27 @@ namespace armarx void CartesianWaypointControlGuiWidgetController::loadSettings(QSettings* settings) { std::lock_guard g{_allMutex}; - _robotStateComponentName = settings->value("rsc", "Armar6StateComponent").toString().toStdString(); + getRobotStateComponentPlugin().setRobotStateComponentName(settings->value("rsc", "Armar6StateComponent").toString().toStdString()); getRobotUnitComponentPlugin().setRobotUnitName(settings->value("ru", "Armar6Unit").toString().toStdString()); } void CartesianWaypointControlGuiWidgetController::saveSettings(QSettings* settings) { std::lock_guard g{_allMutex}; - settings->setValue("rsc", QString::fromStdString(_robotStateComponentName)); + settings->setValue("rsc", QString::fromStdString(getRobotStateComponentPlugin().getRobotStateComponentName())); settings->setValue("ru", QString::fromStdString(getRobotUnitComponentPlugin().getRobotUnitName())); } void CartesianWaypointControlGuiWidgetController::onInitComponent() { - std::lock_guard g{_allMutex}; - usingProxy(_robotStateComponentName); } void CartesianWaypointControlGuiWidgetController::onConnectComponent() { std::lock_guard g{_allMutex}; - //proxies - { - _robotStateComponent = getProxy<RobotStateComponentInterfacePrx>(_robotStateComponentName); - } //robot { - _robot = RemoteRobot::createLocalCloneFromFile(_robotStateComponent, VirtualRobot::RobotIO::eStructure); + _robot = addRobot("state robot", VirtualRobot::RobotIO::eStructure); } //fill rns combo box { @@ -197,7 +191,7 @@ namespace armarx void CartesianWaypointControlGuiWidgetController::configured() { std::lock_guard g{_allMutex}; - _robotStateComponentName = _dialog->getProxyName("rsc"); + getRobotStateComponentPlugin().setRobotStateComponentName(_dialog->getProxyName("rsc")); getRobotUnitComponentPlugin().setRobotUnitName(_dialog->getProxyName("ru")); } @@ -281,11 +275,11 @@ namespace armarx void CartesianWaypointControlGuiWidgetController::timerEvent(QTimerEvent*) { std::lock_guard g{_allMutex}; - if (!_robot || !_robotStateComponent) + if (!_robot) { return; } - RemoteRobot::synchronizeLocalClone(_robot, _robotStateComponent); + synchronizeLocalClone(_robot); if (_controller) { ARMARX_INFO << deactivateSpam() << "setting visu gp to:\n" << _robot->getGlobalPose(); diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h index 338c46f93..fc6b1936d 100644 --- a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h +++ b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h @@ -35,6 +35,7 @@ #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h> #include <RobotAPI/interface/units/RobotUnit/NJointCartesianWaypointController.h> #include <RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h> +#include <RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.h> #include <RobotAPI/gui-plugins/CartesianWaypointControlGui/ui_CartesianWaypointControlGuiWidget.h> @@ -61,7 +62,8 @@ namespace armarx class ARMARXCOMPONENT_IMPORT_EXPORT CartesianWaypointControlGuiWidgetController: public armarx::ArmarXComponentWidgetControllerTemplate < CartesianWaypointControlGuiWidgetController >, - public virtual RobotUnitComponentPluginUser + public virtual RobotUnitComponentPluginUser, + public virtual RobotStateComponentPluginUser { Q_OBJECT @@ -107,8 +109,6 @@ namespace armarx void timerEvent(QTimerEvent*) override; private: - std::string _robotStateComponentName; - RobotStateComponentInterfacePrx _robotStateComponent; Ui::CartesianWaypointControlGuiWidget _ui; QPointer<SimpleConfigDialog> _dialog; NJointCartesianWaypointControllerInterfacePrx _controller; -- GitLab