27#include <RobotComponents/gui-plugins/RobotIKPlugin/ui_RobotIKGuiPlugin.h>
39#include <RobotAPI/interface/core/RobotState.h>
42#include <RobotComponents/interface/components/RobotIK.h>
48#include <VirtualRobot/Robot.h>
49#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
52#include <Inventor/manips/SoTransformerManip.h>
53#include <Inventor/nodes/SoMaterial.h>
54#include <Inventor/nodes/SoSphere.h>
55#include <Inventor/sensors/SoTimerSensor.h>
64 Q_PLUGIN_METADATA(IID
"ArmarXGuiInterface/1.00")
71 return "RobotIKGuiPlugin";
121 return "RobotControl.RobotIK";
145 Ui::RobotIKGuiPlugin
ui;
148 void on_btnCopyCurrentPoseToClipboard_clicked();
151 void updatePreviewRobot();
152 void on_btnSetDesiredPose_clicked();
153 void executeMotion();
156 void ikCallbackExecuteMotion(
const Ice::AsyncResultPtr& r);
157 void ikCallbackDisplaySolution(
const Ice::AsyncResultPtr& r);
159 std::string robotStateComponentName;
160 std::string kinematicUnitComponentName;
161 std::string robotIKComponentName;
163 QPointer<SimpleConfigDialog> dialog;
166 Ice::StringSeq getIncludePaths()
const;
171 static void manipFinishCallback(
void*
data, SoDragger* manip);
172 static void manipMovedCallback(
void*
data, SoDragger* manip);
174 SoTimerSensor* robotUpdateSensor;
175 static void robotUpdateTimerCB(
void*
data, SoSensor* sensor);
177 SoTimerSensor* textFieldUpdateSensor;
178 static void textFieldUpdateTimerCB(
void*
data, SoSensor* sensor);
180 SoTimerSensor* autoFollowSensor;
181 static void autoFollowSensorTimerCB(
void*
data, SoSensor* sensor);
182 bool manipulatorMoved;
185 ExtendedIKResult improveCurrentSolution(ExtendedIKResult& solution);
187 ExtendedIKResult getIKSolution()
const;
189 CartesianSelection convertOption(std::string
option)
const;
191 bool startUpCameraPositioningFlag;
193 armarx::ExtendedIKResult currentSolution;
196 VirtualRobot::CoinVisualizationPtr previewRobotVisualization;
197 VirtualRobot::CoinVisualizationPtr currentRobotVisualization;
QString getPluginName() override
std::shared_ptr< class Robot > RobotPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx
std::shared_ptr< RobotIKWidgetController > RobotIKGuiPluginPtr
boost::shared_ptr< VirtualRobot::CoinVisualization > CoinVisualizationPtr