CartesianWaypointControlGuiWidgetController.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package RobotAPI::gui-plugins::CartesianWaypointControlGuiWidgetController
17 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18 * @date 2019
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22#pragma once
23
24#include <RobotAPI/gui-plugins/CartesianWaypointControlGui/ui_CartesianWaypointControlGuiWidget.h>
25#include <RobotAPI/interface/units/RobotUnit/NJointCartesianWaypointController.h>
26#include <RobotAPI/libraries/NJointControllerGuiPluginUtility/NJointControllerGuiPluginBase.h>
27
28namespace armarx
29{
30 /**
31 \page armarx_control-GuiPlugins-CartesianWaypointControlGui CartesianWaypointControlGui
32 \brief The CartesianWaypointControlGui allows visualizing ...
33
34 \image html CartesianWaypointControlGui.png
35 The user can
36
37 API Documentation \ref CartesianWaypointControlGuiWidgetController
38
39 \see CartesianWaypointControlGuiGuiPlugin
40 */
41
42 /**
43 * \class CartesianWaypointControlGuiWidgetController
44 * \brief CartesianWaypointControlGuiWidgetController brief one line description
45 *
46 * Detailed description
47 */
49 public NJointControllerGuiPluginBase<CartesianWaypointControlGuiWidgetController,
50 NJointCartesianWaypointControllerInterfacePrx>
51 {
52 Q_OBJECT
53 public:
54 /// Controller Constructor
57
58 /**
59 * Returns the Widget name displayed in the ArmarXGui to create an
60 * instance of this class.
61 */
62 static QString
64 {
65 return "RobotControl.NJointControllers.CartesianWaypointControlGui";
66 }
67
68 void onConnectComponent() override;
69 NJointControllerConfigPtr readFullCFG() const override;
70 void setupGuiAfterConnect() override;
71
72 private slots:
73 void on_pushButtonExecute_clicked();
74 void on_pushButtonZeroFT_clicked();
75 void on_pushButtonSendSettings_clicked();
76 void createController() override;
77 void copyCurrentPose();
78
79 void triggerParsing();
80
81 private:
82 NJointCartesianWaypointControllerRuntimeConfig readRunCfg() const;
83 void timerEvent(QTimerEvent*) override;
84
85 private:
86 Ui::CartesianWaypointControlGuiWidget _ui;
87 std::vector<Eigen::Matrix4f> _lastParsedWPs;
88 bool _supportsFT{false};
89 int _timer{0};
90 };
91} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
This file offers overloads of toIce() and fromIce() functions for STL container types.