Go to the documentation of this file.
30 #include <Inventor/nodes/SoNode.h>
31 #include <Inventor/nodes/SoSelection.h>
32 #include <Inventor/nodes/SoSeparator.h>
33 #include <Inventor/sensors/SoTimerSensor.h>
36 #include <VirtualRobot/VirtualRobot.h>
37 #include <VirtualRobot/Visualization/VisualizationFactory.h>
44 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
63 defineOptionalProperty<bool>(
66 "The simulator implements the DebugDrawerInterface. The debug visualizations (e.g. "
67 "coordinate systems) can enabled/disbaled with this flag.");
68 defineOptionalProperty<std::string>(
69 "DebugDrawerTopic",
"DebugDrawerUpdates",
"Name of the DebugDrawerTopic");
70 defineOptionalProperty<std::string>(
"DebugDrawerSelectionTopic",
71 "DebugDrawerSelections",
72 "Name of the DebugDrawerSelectionTopic");
114 virtual public armarx::DebugDrawerInterfaceAndListener,
133 return "DebugDrawer";
153 const ::Ice::Current& = Ice::emptyCurrent)
override;
155 const std::string& layerName,
156 const ::Ice::Current& = Ice::emptyCurrent)
override;
159 const std::string& poseName,
160 const ::armarx::PoseBasePtr& globalPose,
161 const ::Ice::Current& = Ice::emptyCurrent)
override;
163 const std::string& poseName,
164 const ::armarx::PoseBasePtr& globalPose,
166 const ::Ice::Current& = Ice::emptyCurrent)
override;
168 const ::armarx::PoseBasePtr& globalPose,
169 const ::Ice::Current& = Ice::emptyCurrent)
override;
171 const ::armarx::PoseBasePtr& globalPose,
173 const ::Ice::Current& = Ice::emptyCurrent)
override;
175 const std::string& poseName,
176 const ::Ice::Current& = Ice::emptyCurrent)
override;
178 const ::Ice::Current& = Ice::emptyCurrent)
override;
181 const std::string& lineName,
182 const ::armarx::Vector3BasePtr& globalPosition1,
183 const ::armarx::Vector3BasePtr& globalPosition2,
185 const ::armarx::DrawColor& color,
186 const ::Ice::Current& = Ice::emptyCurrent)
override;
188 const ::armarx::Vector3BasePtr& globalPosition1,
189 const ::armarx::Vector3BasePtr& globalPosition2,
191 const ::armarx::DrawColor& color,
192 const ::Ice::Current& = Ice::emptyCurrent)
override;
194 const std::string& lineName,
195 const ::Ice::Current& = Ice::emptyCurrent)
override;
197 const ::Ice::Current& = Ice::emptyCurrent)
override;
200 const std::string& lineSetName,
201 const DebugDrawerLineSet& lineSet,
202 const ::Ice::Current& = Ice::emptyCurrent)
override;
204 const DebugDrawerLineSet& lineSet,
205 const ::Ice::Current& = Ice::emptyCurrent)
override;
207 const std::string& lineSetName,
208 const ::Ice::Current& = Ice::emptyCurrent)
override;
210 const ::Ice::Current& = Ice::emptyCurrent)
override;
213 const std::string& boxName,
214 const ::armarx::PoseBasePtr& globalPose,
215 const ::armarx::Vector3BasePtr& dimensions,
216 const DrawColor& color,
217 const ::Ice::Current& = Ice::emptyCurrent)
override;
219 const ::armarx::PoseBasePtr& globalPose,
220 const ::armarx::Vector3BasePtr& dimensions,
221 const DrawColor& color,
222 const ::Ice::Current& = Ice::emptyCurrent)
override;
224 const std::string& boxName,
225 const ::Ice::Current& = Ice::emptyCurrent)
override;
227 const ::Ice::Current& = Ice::emptyCurrent)
override;
230 const std::string& textName,
231 const std::string& text,
232 const ::armarx::Vector3BasePtr& globalPosition,
233 const DrawColor& color,
235 const ::Ice::Current& = Ice::emptyCurrent)
override;
237 const std::string& text,
238 const ::armarx::Vector3BasePtr& globalPosition,
239 const DrawColor& color,
241 const ::Ice::Current& = Ice::emptyCurrent)
override;
243 const std::string& textName,
244 const ::Ice::Current& = Ice::emptyCurrent)
override;
246 const ::Ice::Current& = Ice::emptyCurrent)
override;
249 const std::string& sphereName,
250 const ::armarx::Vector3BasePtr& globalPosition,
251 const DrawColor& color,
253 const ::Ice::Current& = Ice::emptyCurrent)
override;
255 const ::armarx::Vector3BasePtr& globalPosition,
256 const DrawColor& color,
258 const ::Ice::Current& = Ice::emptyCurrent)
override;
260 const std::string& sphereName,
261 const ::Ice::Current& = Ice::emptyCurrent)
override;
263 const ::Ice::Current& = Ice::emptyCurrent)
override;
266 const std::string& cylinderName,
267 const ::armarx::Vector3BasePtr& globalPosition,
268 const ::armarx::Vector3BasePtr& direction,
271 const DrawColor& color,
272 const ::Ice::Current& = Ice::emptyCurrent)
override;
274 const ::armarx::Vector3BasePtr& globalPosition,
275 const ::armarx::Vector3BasePtr& direction,
278 const DrawColor& color,
279 const ::Ice::Current& = Ice::emptyCurrent)
override;
281 const std::string& cylinderName,
282 const ::Ice::Current& = Ice::emptyCurrent)
override;
284 const ::Ice::Current& = Ice::emptyCurrent)
override;
287 const std::string& pointCloudName,
288 const DebugDrawerPointCloud& pointCloud,
289 const ::Ice::Current& = Ice::emptyCurrent)
override;
291 const DebugDrawerPointCloud& pointCloud,
292 const ::Ice::Current& = Ice::emptyCurrent)
override;
294 const std::string& pointCloudName,
295 const ::Ice::Current& = Ice::emptyCurrent)
override;
297 const ::Ice::Current& = Ice::emptyCurrent)
override;
301 const DebugDrawerColoredPointCloud& pointCloud,
302 const ::Ice::Current& = Ice::emptyCurrent);
304 const std::string& pointCloudName,
305 const DebugDrawerColoredPointCloud& pointCloud,
306 const ::Ice::Current& = Ice::emptyCurrent)
override;
308 const std::string& pointCloudName,
309 const ::Ice::Current& = Ice::emptyCurrent)
override;
312 const ::Ice::Current& = Ice::emptyCurrent)
override;
316 const DebugDrawer24BitColoredPointCloud& pointCloud,
317 const ::Ice::Current& = Ice::emptyCurrent)
override;
319 const std::string& pointCloudName,
320 const DebugDrawer24BitColoredPointCloud& pointCloud,
321 const ::Ice::Current& = Ice::emptyCurrent)
override;
323 const std::string& pointCloudName,
324 const ::Ice::Current& = Ice::emptyCurrent)
override;
326 const std::string& pointCloudName,
327 const ::Ice::Current& = Ice::emptyCurrent)
override;
331 const std::string& polygonName,
332 const std::vector<::armarx::Vector3BasePtr>& polygonPoints,
333 const DrawColor& colorInner,
334 const DrawColor& colorBorder,
336 const ::Ice::Current& = Ice::emptyCurrent)
override;
338 const std::vector<::armarx::Vector3BasePtr>& polygonPoints,
339 const DrawColor& colorInner,
340 const DrawColor& colorBorder,
342 const ::Ice::Current& = Ice::emptyCurrent)
override;
344 const std::string& polygonName,
345 const ::Ice::Current& = Ice::emptyCurrent)
override;
347 const ::Ice::Current& = Ice::emptyCurrent)
override;
350 const std::string& triMeshName,
351 const DebugDrawerTriMesh& triMesh,
352 const ::Ice::Current& = Ice::emptyCurrent)
override;
354 const DebugDrawerTriMesh& triMesh,
355 const ::Ice::Current& = Ice::emptyCurrent)
override;
357 const std::string& triMeshName,
358 const ::Ice::Current& = Ice::emptyCurrent)
override;
360 const ::Ice::Current& = Ice::emptyCurrent)
override;
363 const std::string& arrowName,
364 const ::armarx::Vector3BasePtr& position,
365 const ::armarx::Vector3BasePtr& direction,
366 const DrawColor& color,
369 const ::Ice::Current& = Ice::emptyCurrent)
override;
371 const ::armarx::Vector3BasePtr& position,
372 const ::armarx::Vector3BasePtr& direction,
373 const DrawColor& color,
376 const ::Ice::Current& = Ice::emptyCurrent)
override;
378 const std::string& arrowName,
379 const ::Ice::Current& = Ice::emptyCurrent)
override;
381 const ::Ice::Current& = Ice::emptyCurrent)
override;
384 const std::string& circleName,
385 const Vector3BasePtr& globalPosition,
386 const Vector3BasePtr& directionVec,
390 const DrawColor& color,
391 const Ice::Current& = Ice::emptyCurrent)
override;
393 const Vector3BasePtr& globalPosition,
394 const Vector3BasePtr& directionVec,
398 const DrawColor& color,
399 const Ice::Current& = Ice::emptyCurrent)
override;
401 const std::string& circleName,
402 const Ice::Current& = Ice::emptyCurrent)
override;
404 const Ice::Current& = Ice::emptyCurrent)
override;
416 const std::string& robotName,
417 const std::string& robotFile,
418 const std::string& armarxProject,
420 const ::Ice::Current& = Ice::emptyCurrent)
override;
422 const std::string& robotName,
423 const ::armarx::PoseBasePtr& globalPose,
424 const ::Ice::Current& = Ice::emptyCurrent)
override;
426 const std::string& robotName,
427 const std::map<std::string, float>& configuration,
428 const ::Ice::Current& = Ice::emptyCurrent)
override;
436 const std::string& robotName,
437 const armarx::DrawColor&
c,
438 const ::Ice::Current& = Ice::emptyCurrent)
override;
440 const std::string& robotName,
441 const std::string& robotNodeName,
442 const armarx::DrawColor&
c,
443 const ::Ice::Current& = Ice::emptyCurrent)
override;
445 const std::string& robotName,
446 const ::Ice::Current& = Ice::emptyCurrent)
override;
448 void clearAll(const ::Ice::Current& = Ice::emptyCurrent)
override;
450 const ::Ice::Current& = Ice::emptyCurrent)
override;
451 void clearDebugLayer(const ::Ice::Current& = Ice::emptyCurrent)
override;
453 bool hasLayer(
const std::string& layerName,
454 const ::Ice::Current& = Ice::emptyCurrent)
override;
456 const ::Ice::Current& = Ice::emptyCurrent)
override;
460 const ::Ice::Current& = Ice::emptyCurrent)
override;
463 ::Ice::StringSeq
layerNames(const ::Ice::Current& = Ice::emptyCurrent)
override;
464 ::armarx::LayerInformationSequence
468 void enableAllLayers(const ::Ice::Current& = Ice::emptyCurrent)
override;
472 const ::Ice::Current& = Ice::emptyCurrent)
override;
474 const ::Ice::Current& = Ice::emptyCurrent)
override;
476 const ::Ice::Current& = Ice::emptyCurrent)
override;
477 void select(
const std::string& layerName,
478 const std::string& elementName,
479 const ::Ice::Current& = Ice::emptyCurrent)
override;
480 void deselect(
const std::string& layerName,
481 const std::string& elementName,
482 const ::Ice::Current& = Ice::emptyCurrent)
override;
484 DebugDrawerSelectionList
getSelections(const ::Ice::Current& = Ice::emptyCurrent)
override;
492 const ::Ice::Current& = Ice::emptyCurrent)
override;
551 std::map<std::string, bool>
697 std::map<std::string, VirtualRobot::VisualizationFactory::Color>
nodeColors;
710 std::map<std::string, CoordData>
coord;
711 std::map<std::string, LineData>
line;
713 std::map<std::string, BoxData>
box;
714 std::map<std::string, TextData>
text;
715 std::map<std::string, SphereData>
sphere;
716 std::map<std::string, CircleData>
circle;
756 void drawBox(
const BoxData& d);
770 void removeLine(
const std::string& layerName,
const std::string& name);
771 void removeLineSet(
const std::string& layerName,
const std::string& name);
772 void removeBox(
const std::string& layerName,
const std::string& name);
773 void removeText(
const std::string& layerName,
const std::string& name);
774 void removeSphere(
const std::string& layerName,
const std::string& name);
775 void removeCylinder(
const std::string& layerName,
const std::string& name);
776 void removeCircle(
const std::string& layerName,
const std::string& name);
777 void removePointCloud(
const std::string& layerName,
const std::string& name);
780 void removePolygon(
const std::string& layerName,
const std::string& name);
781 void removeTriMesh(
const std::string& layerName,
const std::string& name);
782 void removeArrow(
const std::string& layerName,
const std::string& name);
783 void removeRobot(
const std::string& layerName,
const std::string& name);
815 std::map<std::string, SoSeparator*>
849 std::map<const std::string, Layer>
layers;
void remove24BitColoredPointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
Contains data for a layer.
void removeSelectionCallbacks()
void removeArrowDebugLayerVisu(const std::string &arrowName, const ::Ice::Current &=Ice::emptyCurrent) override
void setArrowVisu(const std::string &layerName, const std::string &arrowName, const ::armarx::Vector3BasePtr &position, const ::armarx::Vector3BasePtr &direction, const DrawColor &color, float length, float width, const ::Ice::Current &=Ice::emptyCurrent) override
void drawPointCloud(const PointCloudData &d)
void setColoredPointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const DebugDrawerColoredPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent) override
void remove24BitColoredPointCloud(const std::string &layerName, const std::string &name)
std::map< std::string, SoSeparator * > added24BitColoredPointCloudVisualizations
void drawPolygon(const PolygonData &d)
::armarx::LayerInformationSequence layerInformation(const ::Ice::Current &=Ice::emptyCurrent) override
void removeArrowVisu(const std::string &layerName, const std::string &arrowName, const ::Ice::Current &=Ice::emptyCurrent) override
std::set< std::string > removeLayers
void setTriMeshVisu(const std::string &layerName, const std::string &triMeshName, const DebugDrawerTriMesh &triMesh, const ::Ice::Current &=Ice::emptyCurrent) override
static std::recursive_mutex selectionMutex
void drawRobot(const RobotData &d)
void setCylinderDebugLayerVisu(const std::string &cylinderName, const ::armarx::Vector3BasePtr &globalPosition, const ::armarx::Vector3BasePtr &direction, float length, float radius, const DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
void setSphereDebugLayerVisu(const std::string &sphereName, const ::armarx::Vector3BasePtr &globalPosition, const DrawColor &color, float radius, const ::Ice::Current &=Ice::emptyCurrent) override
void setDefaultLayerVisibility(const std::string &layerName, bool defaultLayerVisibility)
const VariantTypeId Float
The DebugDrawerComponent class.
std::string getDefaultName() const override
Retrieve default name of component.
VirtualRobot::VisualizationFactory::Color colorBorder
void updateRobotColor(const std::string &layerName, const std::string &robotName, const armarx::DrawColor &c, const ::Ice::Current &=Ice::emptyCurrent) override
updateRobotColor Colorizes the robot visualization
std::map< std::string, SoSeparator * > addedPolygonVisualizations
VirtualRobot::VisualizationFactory::Color color
void setRobotVisu(const std::string &layerName, const std::string &robotName, const std::string &robotFile, const std::string &armarxProject, DrawStyle drawStyle, const ::Ice::Current &=Ice::emptyCurrent) override
setRobotVisu Initializes a robot visualization
void onInitComponent() override
Pure virtual hook for the subclass.
void removeAccumulatedData(const std::string &layerName)
DebugDrawer24BitColoredPointCloud pointCloud
std::map< std::string, CircleData > circle
void removeCircleDebugLayerVisu(const std::string &circleName, const Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedCircleVisualizations
armarx::DrawStyle drawStyle
bool getDefaultLayerVisibility(const std::string &layerName) const
std::map< std::string, float > configuration
PropertyDefinitionsPtr createPropertyDefinitions() override
void removePoseDebugLayerVisu(const std::string &poseName, const ::Ice::Current &=Ice::emptyCurrent) override
UpdateData accumulatedUpdateData
virtual void onRemoveAccumulatedData(const std::string &layerName)
VirtualRobot::VisualizationFactory::Color color
RecursiveMutexLockPtr getScopedVisuLock()
getScopedLock If using the coin visualization it must be ensured that all rendering calls are protect...
void reportSelectionChanged(const DebugDrawerSelectionList &selectedElements, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, bool > defaultLayerVisibilityPerLayer
MatrixXX< 4, 4, float > Matrix4f
void set24BitColoredPointCloudDebugLayerVisu(const std::string &pointCloudName, const DebugDrawer24BitColoredPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent) override
void removeSphereVisu(const std::string &layerName, const std::string &sphereName, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, PointCloudData > pointcloud
std::map< std::string, SoSeparator * > addedColoredPointCloudVisualizations
std::map< std::string, SoSeparator * > addedLineVisualizations
std::set< std::string > selectableLayers
void removePointCloudDebugLayerVisu(const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
void updateVisualization()
std::map< std::string, SoSeparator * > addedCoordVisualizations
void deselect(const std::string &layerName, const std::string &elementName, const ::Ice::Current &=Ice::emptyCurrent) override
void enableDebugLayerVisu(bool visible, const ::Ice::Current &=Ice::emptyCurrent) override
bool update
Whether an existing visu should be updated.
void clearLayerQt(const std::string &layerName)
Eigen::Matrix4f globalPose
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
std::map< std::string, SphereData > sphere
DebugDrawerPropertyDefinitions(std::string prefix)
void enableLayerVisu(const std::string &layerName, bool visible, const ::Ice::Current &=Ice::emptyCurrent) override
void setTriMeshDebugLayerVisu(const std::string &triMeshName, const DebugDrawerTriMesh &triMesh, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, Colored24BitPointCloudData > colored24Bitpointcloud
std::map< std::string, TriMeshData > triMeshes
void removePointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
VirtualRobot::VisualizationFactory::Color color
SoTimerSensor * timerSensor
void drawCircle(const DebugDrawerComponent::CircleData &d)
bool hasLayer(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
void drawTriMesh(const TriMeshData &d)
void removeLineSet(const std::string &layerName, const std::string &name)
void setLineSetDebugLayerVisu(const std::string &lineSetName, const DebugDrawerLineSet &lineSet, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedArrowVisualizations
void clearAll(const ::Ice::Current &=Ice::emptyCurrent) override
void removeLineSetVisu(const std::string &layerName, const std::string &lineSetName, const ::Ice::Current &=Ice::emptyCurrent) override
void ensureExistingRobotNodes(DebugDrawerComponent::RobotData &d)
ensureExistingRobotNodes Checks if all robotnodes of configuration exist in robot....
DebugDrawerSelectionList getSelections(const ::Ice::Current &=Ice::emptyCurrent) override
void removeRobotVisu(const std::string &layerName, const std::string &robotName, const ::Ice::Current &=Ice::emptyCurrent) override
VirtualRobot::VisualizationFactory::Color colorInner
void exportLayer(const std::string &filename, const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
RecursiveMutexPtr mutex
The coin mutex.
RecursiveMutexPtr topicMutex
void removeBoxDebugLayerVisu(const std::string &boxName, const ::Ice::Current &=Ice::emptyCurrent) override
static void updateVisualizationCB(void *data, SoSensor *sensor)
void removeColoredPointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
void removeCoordSystem(const std::string &layerName, const std::string &name)
std::map< std::string, SoSeparator * > addedTextVisualizations
bool getDefaultLayerVisibility() const
VirtualRobot::RobotPtr requestRobot(const RobotData &d)
void removeRobot(const std::string &layerName, const std::string &name)
void removeColoredPointCloudDebugLayerVisu(const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
void removeSphere(const std::string &layerName, const std::string &name)
void setBoxDebugLayerVisu(const std::string &boxName, const ::armarx::PoseBasePtr &globalPose, const ::armarx::Vector3BasePtr &dimensions, const DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
void removePolygonDebugLayerVisu(const std::string &polygonName, const ::Ice::Current &=Ice::emptyCurrent) override
std::set< std::string > clearLayers
void updateRobotPose(const std::string &layerName, const std::string &robotName, const ::armarx::PoseBasePtr &globalPose, const ::Ice::Current &=Ice::emptyCurrent) override
void removeSphereDebugLayerVisu(const std::string &sphereName, const ::Ice::Current &=Ice::emptyCurrent) override
std::unique_lock< RecursiveMutex > RecursiveMutexLock
void clearDebugLayer(const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, BoxData > box
VirtualRobot::VisualizationFactory::Color color
void setLineVisu(const std::string &layerName, const std::string &lineName, const ::armarx::Vector3BasePtr &globalPosition1, const ::armarx::Vector3BasePtr &globalPosition2, float lineWidth, const ::armarx::DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
void removePoseVisu(const std::string &layerName, const std::string &poseName, const ::Ice::Current &=Ice::emptyCurrent) override
void drawCylinder(const CylinderData &d)
std::map< std::string, RobotData > robots
void setDefaultLayerVisibility(bool defaultLayerVisibility)
void removeLineVisu(const std::string &layerName, const std::string &lineName, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedCylinderVisualizations
void removeCylinderVisu(const std::string &layerName, const std::string &cylinderName, const ::Ice::Current &=Ice::emptyCurrent) override
SoSeparator * getVisualization()
getVisualization Ensure that all access to this node is protected with the scoped lock mutex.
void deselectionCallback()
uint32_t Color
RGBA color.
std::map< std::string, SoSeparator * > addedCustomVisualizations
void setSphereVisu(const std::string &layerName, const std::string &sphereName, const ::armarx::Vector3BasePtr &globalPosition, const DrawColor &color, float radius, const ::Ice::Current &=Ice::emptyCurrent) override
void removeTextVisu(const std::string &layerName, const std::string &textName, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, VirtualRobot::RobotPtr > loadedRobots
void setScaledPoseVisu(const std::string &layerName, const std::string &poseName, const ::armarx::PoseBasePtr &globalPose, const ::Ice::Float scale, const ::Ice::Current &=Ice::emptyCurrent) override
void drawArrow(const ArrowData &d)
VirtualRobot::VisualizationFactory::Color color
void updateRobotConfig(const std::string &layerName, const std::string &robotName, const std::map< std::string, float > &configuration, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedBoxVisualizations
VirtualRobot::VisualizationFactory::Color color
virtual void onUpdateVisualization()
onUpdateVisualization derived methods can overwrite this method to update custom visualizations.
void removeTriMeshVisu(const std::string &layerName, const std::string &triMeshName, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedPointCloudVisualizations
void enableSelections(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
void setMutex(RecursiveMutexPtr const &m)
std::recursive_mutex RecursiveMutex
void setPoseVisu(const std::string &layerName, const std::string &poseName, const ::armarx::PoseBasePtr &globalPose, const ::Ice::Current &=Ice::emptyCurrent) override
void setTextVisu(const std::string &layerName, const std::string &textName, const std::string &text, const ::armarx::Vector3BasePtr &globalPosition, const DrawColor &color, int size, const ::Ice::Current &=Ice::emptyCurrent) override
void removeBox(const std::string &layerName, const std::string &name)
DebugDrawerListenerPrx listenerPrx
void setLineSetVisu(const std::string &layerName, const std::string &lineSetName, const DebugDrawerLineSet &lineSet, const ::Ice::Current &=Ice::emptyCurrent) override
void remove24BitColoredPointCloudDebugLayerVisu(const std::string &pointCloudName, const ::Ice::Current &=Ice::emptyCurrent) override
void updateRobotNodeColor(const std::string &layerName, const std::string &robotName, const std::string &robotNodeName, const armarx::DrawColor &c, const ::Ice::Current &=Ice::emptyCurrent) override
Eigen::Vector3f direction
std::map< std::string, VirtualRobot::VisualizationFactory::Color > nodeColors
RecursiveMutexLockPtr getScopedAccumulatedDataLock()
void removeCylinderDebugLayerVisu(const std::string &cylinderName, const ::Ice::Current &=Ice::emptyCurrent) override
std::vector< Eigen::Vector3f > points
std::mutex timerSensorMutex
void removePolygon(const std::string &layerName, const std::string &name)
void exportScene(const std::string &filename, const ::Ice::Current &=Ice::emptyCurrent) override
void draw24BitColoredPointCloud(const Colored24BitPointCloudData &d)
DebugDrawerColoredPointCloud pointCloud
virtual void setColoredPointCloudDebugLayerVisu(const std::string &pointCloudName, const DebugDrawerColoredPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent)
void setLayerVisibility(const std::string &layerName, bool visible)
void removeCircleVisu(const std::string &layerName, const std::string &circleName, const Ice::Current &=Ice::emptyCurrent) override
Layer & requestLayer(const std::string &layerName)
If a layer with layerName exists it is returned. Otherwise a new layer with given name is created and...
DebugDrawerPointCloud pointCloud
void removeCylinder(const std::string &layerName, const std::string &name)
VirtualRobot::VisualizationFactory::Color color
std::map< std::string, CylinderData > cylinder
std::string armarxProject
Baseclass for all ArmarX ManagedIceObjects requiring properties.
void setBoxVisu(const std::string &layerName, const std::string &boxName, const ::armarx::PoseBasePtr &globalPose, const ::armarx::Vector3BasePtr &dimensions, const DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedSphereVisualizations
bool defaultLayerVisibility
void enableAllLayers(const ::Ice::Current &=Ice::emptyCurrent) override
void removeCircle(const std::string &layerName, const std::string &name)
RecursiveMutexPtr dataUpdateMutex
The data update mutex.
std::map< std::string, TextData > text
void setArrowDebugLayerVisu(const std::string &arrowName, const ::armarx::Vector3BasePtr &position, const ::armarx::Vector3BasePtr &direction, const DrawColor &color, float length, float width, const ::Ice::Current &=Ice::emptyCurrent) override
std::shared_ptr< RecursiveMutex > RecursiveMutexPtr
void removeDefaultLayerVisibility(const std::string &layerName)
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
void removeLayerQt(const std::string &layerName)
void setCircleArrowVisu(const std::string &layerName, const std::string &circleName, const Vector3BasePtr &globalPosition, const Vector3BasePtr &directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
virtual void removeCustomVisu(const std::string &layerName, const std::string &name)
void clearLayer(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
void setLineDebugLayerVisu(const std::string &lineName, const ::armarx::Vector3BasePtr &globalPosition1, const ::armarx::Vector3BasePtr &globalPosition2, float lineWidth, const ::armarx::DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
void drawLine(const LineData &d)
void setCircleDebugLayerVisu(const std::string &circleName, const Vector3BasePtr &globalPosition, const Vector3BasePtr &directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
Eigen::Matrix4f globalPose
std::map< std::string, SoSeparator * > addedLineSetVisualizations
Default component property definition container.
void setPointCloudDebugLayerVisu(const std::string &pointCloudName, const DebugDrawerPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent) override
void removeTriMeshDebugLayerVisu(const std::string &triMeshName, const ::Ice::Current &=Ice::emptyCurrent) override
void removeText(const std::string &layerName, const std::string &name)
std::map< std::string, ArrowData > arrows
std::map< std::string, PolygonData > polygons
void removeColoredPointCloud(const std::string &layerName, const std::string &name)
void setPolygonDebugLayerVisu(const std::string &polygonName, const std::vector<::armarx::Vector3BasePtr > &polygonPoints, const DrawColor &colorInner, const DrawColor &colorBorder, float lineWidth, const ::Ice::Current &=Ice::emptyCurrent) override
DebugDrawerComponent()
DebugDrawerComponent Constructs a debug drawer.
void installSelectionCallbacks()
Eigen::Vector3f direction
std::map< std::string, ColoredPointCloudData > coloredpointcloud
void onConnectComponent() override
Pure virtual hook for the subclass.
DebugDrawerLineSet lineSet
std::map< std::string, SoSeparator * > addedTriMeshVisualizations
void removeLineDebugLayerVisu(const std::string &lineName, const ::Ice::Current &=Ice::emptyCurrent) override
void drawBox(const BoxData &d)
void setCylinderVisu(const std::string &layerName, const std::string &cylinderName, const ::armarx::Vector3BasePtr &globalPosition, const ::armarx::Vector3BasePtr &direction, float length, float radius, const DrawColor &color, const ::Ice::Current &=Ice::emptyCurrent) override
void removePointCloud(const std::string &layerName, const std::string &name)
::Ice::StringSeq layerNames(const ::Ice::Current &=Ice::emptyCurrent) override
void removeLineSetDebugLayerVisu(const std::string &lineSetName, const ::Ice::Current &=Ice::emptyCurrent) override
void setPoseDebugLayerVisu(const std::string &poseName, const ::armarx::PoseBasePtr &globalPose, const ::Ice::Current &=Ice::emptyCurrent) override
std::shared_ptr< RecursiveMutexLock > RecursiveMutexLockPtr
void removePolygonVisu(const std::string &layerName, const std::string &polygonName, const ::Ice::Current &=Ice::emptyCurrent) override
void onExitComponent() override
Hook for subclass.
Eigen::Matrix4f globalPose
void removeTriMesh(const std::string &layerName, const std::string &name)
std::map< std::string, CoordData > coord
void drawLineSet(const LineSetData &d)
void drawColoredPointCloud(const ColoredPointCloudData &d)
VirtualRobot::VisualizationFactory::Color color
std::map< std::string, LineData > line
DebugDrawerTriMesh triMesh
std::map< std::string, VirtualRobot::RobotPtr > activeRobots
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
void removeArrow(const std::string &layerName, const std::string &name)
void removeBoxVisu(const std::string &layerName, const std::string &boxName, const ::Ice::Current &=Ice::emptyCurrent) override
void drawSphere(const SphereData &d)
void onDisconnectComponent() override
Hook for subclass.
void setScaledPoseDebugLayerVisu(const std::string &poseName, const ::armarx::PoseBasePtr &globalPose, const ::Ice::Float scale, const ::Ice::Current &=Ice::emptyCurrent) override
void setPointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const DebugDrawerPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent) override
void removeTextDebugLayerVisu(const std::string &textName, const ::Ice::Current &=Ice::emptyCurrent) override
void setVisuUpdateTime(float visuUpdatesPerSec)
setVisuUpdateTime Specifies how often the accumulated draw commands should be applied to the visualiz...
std::map< std::string, bool > getAllDefaultLayerVisibilities() const
void set24BitColoredPointCloudVisu(const std::string &layerName, const std::string &pointCloudName, const DebugDrawer24BitColoredPointCloud &pointCloud, const ::Ice::Current &=Ice::emptyCurrent) override
~DebugDrawerComponent() override
SoSeparator * layerMainNode
Main node for all layers.
void drawCoordSystem(const CoordData &d)
void clearSelections(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
void disableSelections(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
void drawText(const TextData &d)
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, LineSetData > lineSet
Eigen::Vector3f direction
void setPolygonVisu(const std::string &layerName, const std::string &polygonName, const std::vector<::armarx::Vector3BasePtr > &polygonPoints, const DrawColor &colorInner, const DrawColor &colorBorder, float lineWidth, const ::Ice::Current &=Ice::emptyCurrent) override
void setTextDebugLayerVisu(const std::string &textName, const std::string &text, const ::armarx::Vector3BasePtr &globalPosition, const DrawColor &color, int size, const ::Ice::Current &=Ice::emptyCurrent) override
void removeLayer(const std::string &layerName, const ::Ice::Current &=Ice::emptyCurrent) override
std::shared_ptr< class Robot > RobotPtr
void select(const std::string &layerName, const std::string &elementName, const ::Ice::Current &=Ice::emptyCurrent) override
std::map< std::string, SoSeparator * > addedRobotVisualizations
void disableAllLayers(const ::Ice::Current &=Ice::emptyCurrent) override
SoSelection * selectionNode
void removeLine(const std::string &layerName, const std::string &name)
std::map< const std::string, Layer > layers
All existing layers.