KinematicUnitGuiPlugin.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 ArmarX::Component::KinematicUnitGuiPlugin
17 * @author Christian Boege <boege at kit dot edu>
18 * @copyright 2011 Christian Böge
19 * @license http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 
22 */
23 
24 #pragma once
25 
26 /* ArmarX headers */
27 #include <RobotAPI/gui-plugins/KinematicUnitPlugin/ui_kinematicunitguiplugin.h>
28 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
31 
34 
37 
38 /* Qt headers */
39 #include <QMainWindow>
40 #include <QToolBar>
41 
42 
43 #include <VirtualRobot/Robot.h>
44 #include <VirtualRobot/Nodes/RobotNode.h>
45 #include <VirtualRobot/RobotNodeSet.h>
46 #include <VirtualRobot/Visualization/VisualizationFactory.h>
47 #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
48 
49 #include <Inventor/sensors/SoTimerSensor.h>
50 #include <Inventor/nodes/SoNode.h>
51 #include <Inventor/nodes/SoSeparator.h>
52 #include <Inventor/nodes/SoEventCallback.h>
53 #include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
54 #include <Inventor/Qt/SoQt.h>
55 #include <QStyledItemDelegate>
57 
58 #include <VirtualRobot/VirtualRobot.h>
59 
60 #include <mutex>
61 #include <boost/circular_buffer.hpp>
62 
63 #include <ArmarXCore/core/time.h>
64 
65 namespace armarx
66 {
67  class KinematicUnitConfigDialog;
68 
69  /*!
70  \class KinematicUnitGuiPlugin
71  \brief This plugin provides a generic widget showing position and velocity of all joints. Optionally a 3d robot model can be visualized.
72  \see KinematicUnitWidget
73  */
75  public ArmarXGuiPlugin
76  {
77  Q_OBJECT
78  Q_INTERFACES(ArmarXGuiInterface)
79  Q_PLUGIN_METADATA(IID "ArmarXGuiInterface/1.00")
80  public:
82 
83  QString getPluginName() override
84  {
85  return "KinematicUnitGuiPlugin";
86  }
87  };
88 
90  public QStyledItemDelegate
91  {
92  void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
93  };
94 
95  /*!
96  \page RobotAPI-GuiPlugins-KinematicUnitPlugin KinematicUnitPlugin
97 
98  \brief This widget shows position and velocity of all joints. Optionally a 3d robot model can be visualized.
99 
100  \image html KinematicUnitGUI.png
101  When you add the widget to the Gui, you need to specify the following parameters:
102 
103  Parameter Name | Example Value | Required? | Description
104  :---------------- | :-------------: | :-------------- |:--------------------
105  Robot model filepath | $ArmarX_Core/Armar3/data/Armar3/robotmodel/ArmarIII.xml | Yes | The robot model to use. This needs to be the same model the kinematic unit is using.
106  Robot nodeset name | Robot | Yes | ?
107  Kinematic unit name - Proxy | Armar3KinematicUnit | Yes | The kinematic unit you wish to observe/control.
108  RobotState Topic Name | RobotState | ? | ?
109 
110  This widget allows you to both observe and control a kinematic unit. All joints are listed in
111  the table in the center of the widget. The 3D viewer shows the current state of the robot.
112 
113  On the top you can select the joint you wish to control and the control mode. You can control
114  a joint with the slider below.
115  */
117  public ArmarXComponentWidgetControllerTemplate<KinematicUnitWidgetController>
118  // public KinematicUnitListener
119  {
120  Q_OBJECT
121  public:
122  /**
123  * @brief Holds the column index for the joint tabel.
124  * Used to avoid magic numbers.
125  */
127  {
140  };
141 
142  enum Roles
143  {
144  eJointAngleRole = Qt::UserRole + 1,
147  };
148 
151 
152  // inherited from Component
153  void onInitComponent() override;
154  void onConnectComponent() override;
155  void onDisconnectComponent() override;
156  void onExitComponent() override;
157 
158  // inherited of ArmarXWidget
159  static QString GetWidgetName()
160  {
161  return "RobotControl.KinematicUnitGUI";
162  }
163  static QIcon GetWidgetIcon()
164  {
165  return QIcon("://icons/kinematic_icon.svg");
166  }
167 
168  QPointer<QDialog> getConfigDialog(QWidget* parent = 0) override;
169  void loadSettings(QSettings* settings) override;
170  void saveSettings(QSettings* settings) override;
171  void configured() override;
172 
173  SoNode* getScene() override;
174 
176 
177  void modelUpdateCB();
178 
179  void updateGuiElements();
180 
181  // overwrite setMutex, so that we can inform the debugdrawer
182  void setMutex3D(RecursiveMutexPtr const& mutex3D) override;
183 
184  QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent) override;
185 
186  signals:
187 
188  void jointAnglesReported();
191  void jointTorquesReported();
192  void jointCurrentsReported();
193  void jointStatusesReported();
195 
196  void onDebugInfoReceived(const DebugInfo& debugInfo);
197 
198 
199  public slots:
200 
201  // KinematicUnit
203 
204  void setControlModePosition();
205  void setControlModeVelocity();
206  void setControlModeTorque();
207 
208  void selectJoint(int i);
209  void selectJointFromTableWidget(int row, int column);
210  void sliderValueChanged(int i);
211 
212  /**
213  * @brief Sets the Slider ui.horizontalSliderKinematicUnitPos to 0 if
214  * this->selectedControlMode is eVelocityControl.
215  */
216  void resetSlider();
218 
219  void updateJointAnglesTable(const NameValueMap& reportedJointAngles);
220  void updateJointVelocitiesTable(const NameValueMap& reportedJointVelocities);
221  void updateJointTorquesTable(const NameValueMap& reportedJointTorques);
222  void updateJointCurrentsTable(const NameValueMap& reportedJointCurrents, const NameStatusMap& reportedJointStatuses);
223  void updateMotorTemperaturesTable(const NameValueMap& reportedMotorTemperatures);
224  void updateJointStatusesTable(const NameStatusMap& reportedJointStatuses);
225  void updateControlModesTable(const NameControlModeMap& reportedJointControlModes);
226 
228 
229  void fetchData();
230 
231 
232  protected:
233  void connectSlots();
234  void initializeUi(const DebugInfo& debugInfo);
235 
236  QString translateStatus(OperationStatus status);
237  QString translateStatus(ErrorStatus status);
238 
239  Ui::KinematicUnitGuiPlugin ui;
240 
241  // ice proxies
242  KinematicUnitInterfacePrx kinematicUnitInterfacePrx;// send commands to kinematic unit
243 
244  bool verbose;
245 
246  std::string kinematicUnitFile;
248  std::string kinematicUnitName;
249  //std::string robotStateComponentName;
250  std::string topicName;
251  std::string robotNodeSetName;
252 
254  VirtualRobot::RobotNodeSetPtr robotNodeSet;
255  VirtualRobot::RobotNodePtr currentNode;
256 
259  SoSeparator* rootVisu;
260  SoSeparator* robotVisu;
261 
262  SoSeparator* debugLayerVisu;
264 
265  void updateModel(const NameValueMap& jointAngles);
266 
267  void highlightCriticalValues(const NameStatusMap& reportedJointStatuses);
268 
269  protected slots:
270 
271  void showVisuLayers(bool show);
272  void copyToClipboard();
274 
276  void debugInfoReceived(const DebugInfo& debugInfo);
277 
278 
279  private:
280 
281  std::recursive_mutex mutexNodeSet;
282  // init stuff
283  VirtualRobot::RobotPtr loadRobotFile(std::string fileName);
285  VirtualRobot::RobotNodeSetPtr getRobotNodeSet(VirtualRobot::RobotPtr robot, std::string nodeSetName);
286  bool initGUIComboBox(VirtualRobot::RobotNodeSetPtr robotNodeSet);
287  bool initGUIJointListTable(VirtualRobot::RobotNodeSetPtr robotNodeSet);
288 
289  bool enableValueValidator;
290  bool viewerEnabled = true;
291  Ice::Long historyTime;
292  // DatafieldFilterBasePtr jointAnglesUpdateFrequency;
293  armarx::DateTime lastJointAngleUpdateTimestamp;
294  float currentValueMax;
295 
296  boost::circular_buffer<NameValueMap> jointCurrentHistory;
297 
298  QPointer<QWidget> __widget;
299  QPointer<KinematicUnitConfigDialog> dialog;
300 
301  RangeValueDelegate delegate;
302  /**
303  * @brief The zero position of the slider
304  */
305  static const int SLIDER_ZERO_POSITION = 0;
306 
307  /**
308  * @brief Returns values in
309  * (-ui.jitterThresholdSpinBox->value(),ui.jitterThresholdSpinBox->value())
310  * as 0. (Other values remain unchanged)
311  * @param value The value with jitter.
312  * @return The value without jitter.
313  */
314  float cutJitter(float value);
315 
316  QPointer<QToolBar> customToolbar;
317 
318  protected:
319  void runUpdate();
320 
322 
323  ControlMode getSelectedControlMode() const;
324  void setControlModeRadioButtonGroup(const ControlMode& controlMode);
325 
326  };
327  using FloatVector = ::std::vector< ::Ice::Float>;
328  using KinematicUnitGuiPluginPtr = std::shared_ptr<KinematicUnitWidgetController>;
329 
330 
331 }
DebugDrawerComponent.h
armarx::KinematicUnitWidgetController::eTabelColumnTorque
@ eTabelColumnTorque
Definition: KinematicUnitGuiPlugin.h:132
armarx::ArmarXWidgetController::mutex3D
std::shared_ptr< std::recursive_mutex > mutex3D
Definition: ArmarXWidgetController.h:301
armarx::KinematicUnitWidgetController::updateKinematicUnitListInDialog
void updateKinematicUnitListInDialog()
Definition: KinematicUnitGuiPlugin.cpp:472
RemoteRobot.h
armarx::KinematicUnitWidgetController::onInitComponent
void onInitComponent() override
Pure virtual hook for the subclass.
Definition: KinematicUnitGuiPlugin.cpp:120
armarx::KinematicUnitWidgetController::ui
Ui::KinematicUnitGuiPlugin ui
Definition: KinematicUnitGuiPlugin.h:239
armarx::KinematicUnitWidgetController::updateGuiElements
void updateGuiElements()
Definition: KinematicUnitGuiPlugin.cpp:466
armarx::KinematicUnitWidgetController::topicName
std::string topicName
Definition: KinematicUnitGuiPlugin.h:250
armarx::KinematicUnitWidgetController::kinematicUnitSetupViewer
bool kinematicUnitSetupViewer()
armarx::KinematicUnitWidgetController::configured
void configured() override
This function must be implemented by the user, if he supplies a config dialog.
Definition: KinematicUnitGuiPlugin.cpp:383
armarx::KinematicUnitWidgetController::jointTorquesReported
void jointTorquesReported()
armarx::KinematicUnitWidgetController::updateTask
armarx::RunningTask< KinematicUnitWidgetController >::pointer_type updateTask
Definition: KinematicUnitGuiPlugin.h:321
armarx::KinematicUnitWidgetController::setMutex3D
void setMutex3D(RecursiveMutexPtr const &mutex3D) override
This mutex is used to protect 3d scene updates. Usually called by the ArmarXGui main window on creati...
Definition: KinematicUnitGuiPlugin.cpp:1708
armarx::KinematicUnitGuiPlugin
This plugin provides a generic widget showing position and velocity of all joints....
Definition: KinematicUnitGuiPlugin.h:74
armarx::KinematicUnitWidgetController::onConnectComponent
void onConnectComponent() override
Pure virtual hook for the subclass.
Definition: KinematicUnitGuiPlugin.cpp:167
index
uint8_t index
Definition: EtherCATFrame.h:59
armarx::KinematicUnitWidgetController::jointStatusesReported
void jointStatusesReported()
armarx::KinematicUnitWidgetController::kinematicUnitZeroVelocity
void kinematicUnitZeroVelocity()
Definition: KinematicUnitGuiPlugin.cpp:607
armarx::KinematicUnitWidgetController::loadSettings
void loadSettings(QSettings *settings) override
Implement to load the settings that are part of the GUI configuration.
Definition: KinematicUnitGuiPlugin.cpp:394
armarx::KinematicUnitWidgetController::rootVisu
SoSeparator * rootVisu
Definition: KinematicUnitGuiPlugin.h:259
armarx::ArmarXGuiPlugin
Definition: ArmarXGuiPlugin.h:46
armarx::KinematicUnitWidgetController::setControlModeVelocity
void setControlModeVelocity()
Definition: KinematicUnitGuiPlugin.cpp:828
armarx::KinematicUnitWidgetController::setControlModeRadioButtonGroup
void setControlModeRadioButtonGroup(const ControlMode &controlMode)
Definition: KinematicUnitGuiPlugin.cpp:692
armarx::KinematicUnitWidgetController::robotVisu
SoSeparator * robotVisu
Definition: KinematicUnitGuiPlugin.h:260
armarx::KinematicUnitWidgetController::translateStatus
QString translateStatus(OperationStatus status)
Definition: KinematicUnitGuiPlugin.cpp:1387
armarx::KinematicUnitWidgetController::setControlModePosition
void setControlModePosition()
Definition: KinematicUnitGuiPlugin.cpp:716
armarx::KinematicUnitWidgetController::modelUpdateCB
void modelUpdateCB()
Definition: KinematicUnitGuiPlugin.cpp:477
armarx::KinematicUnitWidgetController::eTabelColumnVelocity
@ eTabelColumnVelocity
Definition: KinematicUnitGuiPlugin.h:131
armarx::navigation::platform_controller::platform_global_trajectory::NameValueMap
std::map< std::string, float > NameValueMap
Definition: PlatformGlobalTrajectoryController.h:93
RunningTask.h
armarx::ArmarXComponentWidgetControllerTemplate
Definition: ArmarXComponentWidgetController.h:69
armarx::KinematicUnitWidgetController::setControlModeTorque
void setControlModeTorque()
Definition: KinematicUnitGuiPlugin.cpp:924
armarx::KinematicUnitWidgetController::Roles
Roles
Definition: KinematicUnitGuiPlugin.h:142
ArmarXGuiInterface
The main gui interface.
Definition: ArmarXGuiInterface.h:74
armarx::KinematicUnitWidgetController::updateControlModesTable
void updateControlModesTable(const NameControlModeMap &reportedJointControlModes)
Definition: KinematicUnitGuiPlugin.cpp:1265
armarx::KinematicUnitWidgetController::eTabelColumnEnabled
@ eTabelColumnEnabled
Definition: KinematicUnitGuiPlugin.h:137
IceInternal::Handle< DebugDrawerComponent >
armarx::KinematicUnitWidgetController::eJointLoRole
@ eJointLoRole
Definition: KinematicUnitGuiPlugin.h:146
armarx::KinematicUnitWidgetController::updateJointCurrentsTable
void updateJointCurrentsTable(const NameValueMap &reportedJointCurrents, const NameStatusMap &reportedJointStatuses)
Definition: KinematicUnitGuiPlugin.cpp:1536
armarx::KinematicUnitWidgetController::KinematicUnitWidgetController
KinematicUnitWidgetController()
Definition: KinematicUnitGuiPlugin.cpp:101
armarx::KinematicUnitWidgetController::resetSliderToZeroPosition
void resetSliderToZeroPosition()
Definition: KinematicUnitGuiPlugin.cpp:680
ArmarXGuiPlugin.h
armarx::KinematicUnitWidgetController::copyToClipboard
void copyToClipboard()
Definition: KinematicUnitGuiPlugin.cpp:433
armarx::KinematicUnitWidgetController::~KinematicUnitWidgetController
~KinematicUnitWidgetController() override
Definition: KinematicUnitGuiPlugin.cpp:1806
armarx::KinematicUnitWidgetController::selectJoint
void selectJoint(int i)
Definition: KinematicUnitGuiPlugin.cpp:1128
armarx::status
status
Definition: FiniteStateMachine.h:259
armarx::KinematicUnitWidgetController::getCustomTitlebarWidget
QPointer< QWidget > getCustomTitlebarWidget(QWidget *parent) override
getTitleToolbar returns a pointer to the a toolbar widget of this controller.
Definition: KinematicUnitGuiPlugin.cpp:1719
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:926
armarx::KinematicUnitWidgetController::JointTabelColumnIndex
JointTabelColumnIndex
Holds the column index for the joint tabel.
Definition: KinematicUnitGuiPlugin.h:126
armarx::KinematicUnitWidgetController::updateJointStatusesTable
void updateJointStatusesTable(const NameStatusMap &reportedJointStatuses)
Definition: KinematicUnitGuiPlugin.cpp:1339
armarx::ArmarXWidgetController::RecursiveMutexPtr
std::shared_ptr< RecursiveMutex > RecursiveMutexPtr
Definition: ArmarXWidgetController.h:256
ArmarXComponentWidgetController.h
armarx::RangeValueDelegate
Definition: KinematicUnitGuiPlugin.h:89
armarx::KinematicUnitWidgetController::fetchData
void fetchData()
Definition: KinematicUnitGuiPlugin.cpp:1740
armarx::KinematicUnitWidgetController::synchronizeRobotJointAngles
void synchronizeRobotJointAngles()
Definition: KinematicUnitGuiPlugin.cpp:1859
CoinVisualizationPtr
boost::shared_ptr< VirtualRobot::CoinVisualization > CoinVisualizationPtr
Definition: ManipulatorVisualization.h:52
armarx::KinematicUnitWidgetController::eTabelColumnAngleProgressbar
@ eTabelColumnAngleProgressbar
Definition: KinematicUnitGuiPlugin.h:130
armarx::FloatVector
::std::vector< ::Ice::Float > FloatVector
Definition: KinematicUnitGuiPlugin.h:327
armarx::KinematicUnitWidgetController::showVisuLayers
void showVisuLayers(bool show)
Definition: KinematicUnitGuiPlugin.cpp:417
armarx::KinematicUnitWidgetController::on_pushButtonFromJson_clicked
void on_pushButtonFromJson_clicked()
Definition: KinematicUnitGuiPlugin.cpp:1819
armarx::KinematicUnitWidgetController::connectSlots
void connectSlots()
Definition: KinematicUnitGuiPlugin.cpp:497
armarx::KinematicUnitWidgetController::onExitComponent
void onExitComponent() override
Hook for subclass.
Definition: KinematicUnitGuiPlugin.cpp:322
armarx::KinematicUnitWidgetController
Definition: KinematicUnitGuiPlugin.h:116
armarx::KinematicUnitWidgetController::eTabelColumnName
@ eTabelColumnName
Definition: KinematicUnitGuiPlugin.h:128
armarx::KinematicUnitWidgetController::onDisconnectComponent
void onDisconnectComponent() override
Hook for subclass.
Definition: KinematicUnitGuiPlugin.cpp:293
armarx::KinematicUnitWidgetController::currentNode
VirtualRobot::RobotNodePtr currentNode
Definition: KinematicUnitGuiPlugin.h:255
armarx::KinematicUnitWidgetController::eJointHiRole
@ eJointHiRole
Definition: KinematicUnitGuiPlugin.h:145
armarx::KinematicUnitWidgetController::eTabelColumnCount
@ eTabelColumnCount
Definition: KinematicUnitGuiPlugin.h:139
armarx::VariantType::Long
const VariantTypeId Long
Definition: Variant.h:917
armarx::KinematicUnitWidgetController::selectJointFromTableWidget
void selectJointFromTableWidget(int row, int column)
Definition: KinematicUnitGuiPlugin.cpp:1170
armarx::KinematicUnitWidgetController::jointCurrentsReported
void jointCurrentsReported()
IceReportSkipper.h
armarx::KinematicUnitWidgetController::GetWidgetName
static QString GetWidgetName()
Definition: KinematicUnitGuiPlugin.h:159
Component.h
armarx::KinematicUnitWidgetController::eTabelColumnError
@ eTabelColumnError
Definition: KinematicUnitGuiPlugin.h:136
armarx::KinematicUnitWidgetController::initializeUi
void initializeUi(const DebugInfo &debugInfo)
Definition: KinematicUnitGuiPlugin.cpp:594
armarx::KinematicUnitWidgetController::onDebugInfoReceived
void onDebugInfoReceived(const DebugInfo &debugInfo)
armarx::KinematicUnitWidgetController::GetWidgetIcon
static QIcon GetWidgetIcon()
Definition: KinematicUnitGuiPlugin.h:163
armarx::KinematicUnitGuiPluginPtr
std::shared_ptr< KinematicUnitWidgetController > KinematicUnitGuiPluginPtr
Definition: KinematicUnitGuiPlugin.h:328
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::channels::KinematicUnitObserver::jointAngles
const KinematicUnitDatafieldCreator jointAngles("jointAngles")
armarx::KinematicUnitWidgetController::robot
VirtualRobot::RobotPtr robot
Definition: KinematicUnitGuiPlugin.h:253
armarx::KinematicUnitWidgetController::kinematicUnitFileDefault
std::string kinematicUnitFileDefault
Definition: KinematicUnitGuiPlugin.h:247
option
#define option(type, fn)
armarx::KinematicUnitWidgetController::updateJointVelocitiesTable
void updateJointVelocitiesTable(const NameValueMap &reportedJointVelocities)
Definition: KinematicUnitGuiPlugin.cpp:1467
armarx::KinematicUnitWidgetController::jointAnglesReported
void jointAnglesReported()
armarx::KinematicUnitWidgetController::highlightCriticalValues
void highlightCriticalValues(const NameStatusMap &reportedJointStatuses)
Definition: KinematicUnitGuiPlugin.cpp:1637
armarx::KinematicUnitWidgetController::resetSlider
void resetSlider()
Sets the Slider ui.horizontalSliderKinematicUnitPos to 0 if this->selectedControlMode is eVelocityCon...
Definition: KinematicUnitGuiPlugin.cpp:642
armarx::KinematicUnitWidgetController::eTabelColumnEmergencyStop
@ eTabelColumnEmergencyStop
Definition: KinematicUnitGuiPlugin.h:138
armarx::KinematicUnitWidgetController::eTabelColumnTemperature
@ eTabelColumnTemperature
Definition: KinematicUnitGuiPlugin.h:134
armarx::KinematicUnitWidgetController::debugLayerVisu
SoSeparator * debugLayerVisu
Definition: KinematicUnitGuiPlugin.h:262
armarx::KinematicUnitWidgetController::jointVelocitiesReported
void jointVelocitiesReported()
armarx::KinematicUnitWidgetController::verbose
bool verbose
Definition: KinematicUnitGuiPlugin.h:244
armarx::KinematicUnitWidgetController::jointControlModesReported
void jointControlModesReported()
armarx::KinematicUnitGuiPlugin::KinematicUnitGuiPlugin
KinematicUnitGuiPlugin()
Definition: KinematicUnitGuiPlugin.cpp:93
armarx::KinematicUnitWidgetController::kinematicUnitInterfacePrx
KinematicUnitInterfacePrx kinematicUnitInterfacePrx
Definition: KinematicUnitGuiPlugin.h:242
armarx::KinematicUnitWidgetController::eTabelColumnOperation
@ eTabelColumnOperation
Definition: KinematicUnitGuiPlugin.h:135
IceUtil::Handle
Definition: forward_declarations.h:29
armarx::KinematicUnitWidgetController::kinematicUnitNode
SoNode * kinematicUnitNode
Definition: KinematicUnitGuiPlugin.h:258
armarx::KinematicUnitWidgetController::kinematicUnitFile
std::string kinematicUnitFile
Definition: KinematicUnitGuiPlugin.h:246
armarx::KinematicUnitWidgetController::eTabelColumnControlMode
@ eTabelColumnControlMode
Definition: KinematicUnitGuiPlugin.h:129
armarx::KinematicUnitWidgetController::debugDrawer
armarx::DebugDrawerComponentPtr debugDrawer
Definition: KinematicUnitGuiPlugin.h:263
time.h
armarx::KinematicUnitWidgetController::saveSettings
void saveSettings(QSettings *settings) override
Implement to save the settings as part of the GUI configuration.
Definition: KinematicUnitGuiPlugin.cpp:406
armarx::KinematicUnitWidgetController::updateJointAnglesTable
void updateJointAnglesTable(const NameValueMap &reportedJointAngles)
Definition: KinematicUnitGuiPlugin.cpp:1425
armarx::KinematicUnitWidgetController::getConfigDialog
QPointer< QDialog > getConfigDialog(QWidget *parent=0) override
getConfigDialog returns a pointer to the a configuration widget of this controller.
Definition: KinematicUnitGuiPlugin.cpp:371
armarx::KinematicUnitWidgetController::runUpdate
void runUpdate()
Definition: KinematicUnitGuiPlugin.cpp:279
armarx::KinematicUnitWidgetController::getScene
SoNode * getScene() override
Reimplementing this function and returning a SoNode* will show this SoNode in the 3DViewerWidget,...
Definition: KinematicUnitGuiPlugin.cpp:482
armarx::KinematicUnitWidgetController::kinematicUnitName
std::string kinematicUnitName
Definition: KinematicUnitGuiPlugin.h:248
armarx::KinematicUnitWidgetController::updateMotorTemperaturesTable
void updateMotorTemperaturesTable(const NameValueMap &reportedMotorTemperatures)
Definition: KinematicUnitGuiPlugin.cpp:1572
armarx::KinematicUnitWidgetController::updateJointTorquesTable
void updateJointTorquesTable(const NameValueMap &reportedJointTorques)
Definition: KinematicUnitGuiPlugin.cpp:1507
armarx::KinematicUnitWidgetController::robotNodeSet
VirtualRobot::RobotNodeSetPtr robotNodeSet
Definition: KinematicUnitGuiPlugin.h:254
armarx::KinematicUnitWidgetController::updateModel
void updateModel(const NameValueMap &jointAngles)
Definition: KinematicUnitGuiPlugin.cpp:1603
armarx::KinematicUnitWidgetController::getSelectedControlMode
ControlMode getSelectedControlMode() const
Definition: KinematicUnitGuiPlugin.cpp:901
armarx::KinematicUnitWidgetController::debugInfoReceived
void debugInfoReceived(const DebugInfo &debugInfo)
Definition: KinematicUnitGuiPlugin.cpp:1756
armarx::KinematicUnitWidgetController::robotNodeSetName
std::string robotNodeSetName
Definition: KinematicUnitGuiPlugin.h:251
armarx::KinematicUnitWidgetController::sliderValueChanged
void sliderValueChanged(int i)
Definition: KinematicUnitGuiPlugin.cpp:1180
armarx::KinematicUnitWidgetController::eJointAngleRole
@ eJointAngleRole
Definition: KinematicUnitGuiPlugin.h:144
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
armarx::KinematicUnitWidgetController::kinematicUnitVisualization
VirtualRobot::CoinVisualizationPtr kinematicUnitVisualization
Definition: KinematicUnitGuiPlugin.h:257
armarx::KinematicUnitWidgetController::jointMotorTemperaturesReported
void jointMotorTemperaturesReported()
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition: Bus.h:18
armarx::KinematicUnitGuiPlugin::getPluginName
QString getPluginName() override
Definition: KinematicUnitGuiPlugin.h:83
armarx::KinematicUnitWidgetController::eTabelColumnCurrent
@ eTabelColumnCurrent
Definition: KinematicUnitGuiPlugin.h:133