31#include <unordered_map>
38#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
54#include <Inventor/nodes/SoSeparator.h>
56#pragma GCC diagnostic push
57#pragma GCC diagnostic ignored "-Wpedantic"
58#include <RobotComponents/gui-plugins/MotionPlanning/ui_SimoxCSpaceVisualizerWidget.h>
59#pragma GCC diagnostic pop
113 float dcdStep = std::numeric_limits<float>::infinity();
181 motionPlanningServerProxyName = dialog->getProxyName(
"MotionPlanningServer");
187 void onConnectComponent()
override;
192 motionPlanningServerTaskList->enableAutoUpdate(
false);
210 SoNode* getScene()
override;
216 void setMutex3D(RecursiveMutexPtr
const& mutex3D)
override;
229 return paths.at(widget.spinBoxPathNumber->value() - 1);
239 void setCurrentPath();
243 void setCurrentPathPosition();
247 void setCurrentConfig();
248 void updateCollisionState();
251 void drawEdges(
bool drawTrace);
256 drawEdges(widget.checkBoxDrawTrace->isChecked());
285 void setVisibilityPath(
int index, Qt::CheckState state);
293 void traceStepChanged();
294 void toggleRobotNodePath(
int index, Qt::CheckState);
295 void updateEdgeVisibility();
296 void highlightCollisionNodes(
bool checked);
300 void loadTaskFromServer();
339 void setPaths(std::vector<Path> newPaths);
358 widget.sliderPathPosition->setScale(0, 0);
366 void setEnabledSimoxCSpace(
bool active =
true);
368 void setEnabledPaths(
bool active =
true);
370 void timerEvent(QTimerEvent*)
override;
378 Ui::SimoxCSpaceVisualizerWidget widget;
382 QPointer<SimpleConfigDialog> dialog;
384 QPointer<MotionPlanningServerTaskList> motionPlanningServerTaskList;
387 std::string motionPlanningServerProxyName;
388 MotionPlanningServerInterfacePrx motionPlanningServerProxy;
398 SoSeparator* visuRoot;
411 std::vector<SoSeparator*> visuObjStat;
412 SoSeparator* visuAgent =
nullptr;
413 VirtualRobot::CoinVisualizationPtr robotVisu;
415 std::vector<PathData> paths;
419 std::vector<std::pair<VirtualRobot::RobotNodePtr, bool>> robotNodes;
420 QTimer updateCollisionStateTimer;
421 const long timerPeriod{30};
std::string to_string(BLEProthesisInterface::State s)
#define ARMARXCOMPONENT_IMPORT_EXPORT
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< DebugDrawerComponent > DebugDrawerComponentPtr
IceInternal::Handle< SimoxCSpace > SimoxCSpacePtr
An ice handle for a SimoxCSpace.