HomogeneousMatrixCalculatorWidgetController.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::HomogeneousMatrixCalculatorWidgetController
17 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18 * @date 2017
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
25#include <VirtualRobot/MathTools.h>
26
28
31
32// C++ includes
33#include <memory>
34
35// ui_HomogeneousMatrixCalculatorWidget.h is included by the .cpp, not here: moc textually inlines every
36// #include it can resolve, and parsing the uic-generated header alongside this one
37// makes moc mis-qualify this class as Ui::armarx::*.
38namespace Ui
39{
40 class HomogeneousMatrixCalculatorWidget;
41}
42
43namespace armarx
44{
45 /**
46 \page RobotAPI-GuiPlugins-HomogeneousMatrixCalculator HomogeneousMatrixCalculator
47 \brief The HomogeneousMatrixCalculator allows visualizing ...
48
49 \image html HomogeneousMatrixCalculator.png
50 The user can
51
52 API Documentation \ref HomogeneousMatrixCalculatorWidgetController
53
54 \see HomogeneousMatrixCalculatorGuiPlugin
55 */
56
57 /**
58 * \class HomogeneousMatrixCalculatorWidgetController
59 * \brief HomogeneousMatrixCalculatorWidgetController brief one line description
60 *
61 * Detailed description
62 */
64 public ArmarXComponentWidgetControllerTemplate<HomogeneousMatrixCalculatorWidgetController>
65 {
66 Q_OBJECT
67
68 public:
69 /**
70 * Controller Constructor
71 */
73
74 /**
75 * Controller destructor
76 */
78
79 /**
80 * @see ArmarXWidgetController::loadSettings()
81 */
82 void loadSettings(QSettings* settings) override;
83
84 /**
85 * @see ArmarXWidgetController::saveSettings()
86 */
87 void saveSettings(QSettings* settings) override;
88
89 /**
90 * Returns the Widget name displayed in the ArmarXGui to create an
91 * instance of this class.
92 */
93 static QString
95 {
96 return "Util.HomogeneousMatrixCalculator";
97 }
98
99 /**
100 * \see armarx::Component::onInitComponent()
101 */
102 void onInitComponent() override;
103
104 /**
105 * \see armarx::Component::onConnectComponent()
106 */
107 void onConnectComponent() override;
108
109 Eigen::Matrix4d getMatrix();
110
111 static QIcon
113 {
114 return QIcon("://icons/htmx_calc_icon.svg");
115 }
116
117 static QIcon
119 {
120 return QIcon("://icons/tools.svg");
121 }
122
123 public slots:
124 /* QT slot declarations */
125
126 signals:
127 /* QT signal declarations */
128
129 private slots:
130 void changed4f();
131
132 void changedrpy();
133
134 void recalcInv();
135 void recalcProd();
136 void recalcInvAndProd();
137
138
139 private:
140 /**
141 * Widget Form
142 */
143 std::unique_ptr<Ui::HomogeneousMatrixCalculatorWidget> widget;
144 };
145} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
~HomogeneousMatrixCalculatorWidgetController() override
Controller destructor.
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
ArmarX Headers.
This file offers overloads of toIce() and fromIce() functions for STL container types.