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 
28 namespace 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
armarx::CartesianWaypointControlGuiWidgetController::GetWidgetName
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
Definition: CartesianWaypointControlGuiWidgetController.h:63
armarx::CartesianWaypointControlGuiWidgetController
CartesianWaypointControlGuiWidgetController brief one line description.
Definition: CartesianWaypointControlGuiWidgetController.h:48
ARMARXCOMPONENT_IMPORT_EXPORT
#define ARMARXCOMPONENT_IMPORT_EXPORT
Definition: ImportExportComponent.h:38
armarx::NJointControllerGuiPluginBase
Definition: NJointControllerGuiPluginBase.h:30
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28