27#include <SimoxUtility/color/interpolation.h>
28#include <SimoxUtility/math/pose/pose.h>
36#define FUNCTION_NOT_IMPLEMENTED_MESSAGE \
37 "Function DebugDrawerToArViz::" << __FUNCTION__ << "(): Not implemented."
39#define LOG_FUNCTION_NOT_IMPLEMENTED_MESSAGE() ARMARX_VERBOSE << FUNCTION_NOT_IMPLEMENTED_MESSAGE
50 return {v->x, v->y, v->z};
54 toEigen(DebugDrawerPointCloudElement e)
56 return {e.x, e.y, e.z};
70 return simox::math::pose(
toEigen(pose->position),
toEigen(pose->orientation));
76 return simox::Color(
c.r,
c.g,
c.b,
c.a);
96 std::scoped_lock lock(mutex);
102 std::vector<viz::Layer> cleared;
103 for (
const auto& [name, layer] : layers)
107 cleared.push_back(arviz.layer(name));
110 if (!cleared.empty())
112 arviz.commit(cleared);
130 const std::string& name,
131 const PoseBasePtr& globalPose,
134 std::scoped_lock lock(mutex);
144 const std::string& name,
145 const PoseBasePtr& globalPose,
149 std::scoped_lock lock(mutex);
154 setAndCommit(layer,
viz::Pose(name).pose(
toEigen(globalPose)).scale(scale));
159 const std::string& name,
160 const Vector3BasePtr& globalPosition1,
161 const Vector3BasePtr& globalPosition2,
162 Ice::Float lineWidth,
163 const DrawColor& color,
166 std::scoped_lock lock(mutex);
175 .lineWidth(lineWidth));
180 const std::string& name,
181 const DebugDrawerLineSet& lineSet,
184 std::scoped_lock lock(mutex);
194 if (lineSet.useHeatMap)
196 ARMARX_VERBOSE <<
"DebugDrawerToArViz::" << __FUNCTION__ <<
"(): "
197 <<
"'useHeatMap' not supported.";
200 simox::Color color0 = toSimox(lineSet.colorNoIntensity);
201 simox::Color color1 = toSimox(lineSet.colorFullIntensity);
203 for (
size_t i = 0; i + 1 < lineSet.points.size(); i += 2)
205 const auto& p1 = lineSet.points[i];
206 const auto& p2 = lineSet.points[i + 1];
207 float intensity = lineSet.intensities[i / 2];
208 simox::Color color = simox::color::interpol::linear(intensity, color0, color1);
210 std::stringstream ss;
211 ss << name <<
"/" << i <<
"_" << i + 1;
212 setLayerElement(layer,
216 .lineWidth(lineSet.lineWidth));
218 arviz.commit({layer});
223 const std::string& name,
224 const PoseBasePtr& globalPose,
225 const Vector3BasePtr& dimensions,
226 const DrawColor& color,
229 std::scoped_lock lock(mutex);
241 const std::string& name,
242 const std::string& text,
243 const Vector3BasePtr& globalPosition,
244 const DrawColor& color,
248 std::scoped_lock lock(mutex);
256 .position(
toEigen(globalPosition))
258 .color(toViz(color)));
263 const std::string& name,
264 const Vector3BasePtr& globalPosition,
265 const DrawColor& color,
269 std::scoped_lock lock(mutex);
276 viz::Sphere(name).position(
toEigen(globalPosition)).radius(radius).color(toViz(color)));
281 const std::string& name,
282 const DebugDrawerPointCloud& pointCloud,
285 std::scoped_lock lock(mutex);
292 for (
const auto& p : pointCloud.points)
301 const std::string& name,
302 const DebugDrawerColoredPointCloud& pointCloud,
305 std::scoped_lock lock(mutex);
312 for (
const auto& p : pointCloud.points)
314 viz::ColoredPoint cp;
318 cp.color = toViz(p.color);
326 const std::string& layer,
327 const std::string& name,
328 const DebugDrawer24BitColoredPointCloud& pointCloud,
331 std::scoped_lock lock(mutex);
338 for (
const auto& p : pointCloud.points)
340 viz::ColoredPoint cp;
344 cp.color =
viz::Color(simox::Color(p.color.r, p.color.g, p.color.b));
352 const std::string& name,
353 const PolygonPointList& polygonPoints,
354 const DrawColor& colorInner,
355 const DrawColor& colorBorder,
356 Ice::Float lineWidth,
359 std::scoped_lock lock(mutex);
366 for (
const auto& p : polygonPoints)
372 poly.
color(toViz(colorInner)).lineColor(toViz(colorBorder)).lineWidth(lineWidth));
377 const std::string& name,
378 const DebugDrawerTriMesh& triMesh,
381 std::scoped_lock lock(mutex);
387 std::vector<Eigen::Vector3f> vertices;
388 std::vector<viz::data::Color> colors;
389 std::vector<viz::data::Face> faces;
390 for (
const auto& v : triMesh.vertices)
392 vertices.emplace_back(v.x, v.y, v.z);
394 for (
const auto&
c : triMesh.colors)
396 colors.emplace_back(toViz(
c));
398 for (
const auto& f : triMesh.faces)
400 viz::data::Face& face = faces.emplace_back();
401 face.v0 = f.vertex1.vertexID;
402 face.v1 = f.vertex2.vertexID;
403 face.v2 = f.vertex3.vertexID;
404 face.c0 = f.vertex1.colorID;
405 face.c1 = f.vertex2.colorID;
406 face.c2 = f.vertex3.colorID;
408 setAndCommit(layer,
viz::Mesh(name).vertices(vertices).colors(colors).faces(faces));
413 const std::string& name,
414 const Vector3BasePtr& position,
415 const Vector3BasePtr& direction,
416 const DrawColor& color,
421 std::scoped_lock lock(mutex);
437 const std::string& name,
438 const Vector3BasePtr& globalPosition,
439 const Vector3BasePtr& direction,
442 const DrawColor& color,
445 std::scoped_lock lock(mutex);
452 .fromTo(
toEigen(globalPosition),
460 const std::string& name,
461 const Vector3BasePtr& globalPosition,
462 const Vector3BasePtr& directionVec,
464 Ice::Float circleCompletion,
466 const DrawColor& color,
469 std::scoped_lock lock(mutex);
476 .position(
toEigen(globalPosition))
479 .completion(circleCompletion)
486 const std::string& name,
487 const std::string& robotFile,
488 const std::string& armarxProject,
489 DrawStyle drawStyleType,
492 std::scoped_lock lock(mutex);
499 switch (drawStyleType)
501 case DrawStyle::CollisionModel:
504 case DrawStyle::FullModel:
509 robots.emplace(std::make_pair(layer, name), robot);
510 setAndCommit(layer, robot);
515 const std::string& name,
516 const PoseBasePtr& globalPose,
519 std::scoped_lock lock(mutex);
524 if (
auto it = robots.find(std::make_pair(layer, name)); it != robots.end())
529 arviz.commit({getLayer(layer)});
534 const std::string& name,
535 const NameValueMap& configuration,
538 std::scoped_lock lock(mutex);
543 if (
auto it = robots.find(std::make_pair(layer, name)); it != robots.end())
546 robot.
joints(configuration);
548 arviz.commit({getLayer(layer)});
553 const std::string& name,
554 const DrawColor& color,
557 std::scoped_lock lock(mutex);
562 if (
auto it = robots.find(std::make_pair(layer, name)); it != robots.end())
567 arviz.commit({getLayer(layer)});
572 const std::string& name,
573 const std::string& robotNodeName,
574 const DrawColor& color,
577 (void)layer, (
void)name, (void)robotNodeName, (
void)color;
583 const std::string& name,
586 std::scoped_lock lock(mutex);
591 robots.erase(std::make_pair(layer, name));
592 removeAndCommit(layer, name);
597 const PoseBasePtr& globalPose,
598 const Ice::Current&
c)
605 const PoseBasePtr& globalPose,
607 const Ice::Current&
c)
614 const Vector3BasePtr& globalPosition1,
615 const Vector3BasePtr& globalPosition2,
616 Ice::Float lineWidth,
617 const DrawColor& color,
618 const Ice::Current&
c)
620 setLineVisu(DEBUG_LAYER_NAME, name, globalPosition1, globalPosition2, lineWidth, color,
c);
625 const DebugDrawerLineSet& lineSet,
626 const Ice::Current&
c)
633 const PoseBasePtr& globalPose,
634 const Vector3BasePtr& dimensions,
635 const DrawColor& color,
636 const Ice::Current&
c)
638 setBoxVisu(DEBUG_LAYER_NAME, name, globalPose, dimensions, color,
c);
643 const std::string& text,
644 const Vector3BasePtr& globalPosition,
645 const DrawColor& color,
647 const Ice::Current&
c)
649 setTextVisu(DEBUG_LAYER_NAME, name, text, globalPosition, color, size,
c);
654 const Vector3BasePtr& globalPosition,
655 const DrawColor& color,
657 const Ice::Current&
c)
659 setSphereVisu(DEBUG_LAYER_NAME, name, globalPosition, color, radius,
c);
664 const DebugDrawerPointCloud& pointCloud,
665 const Ice::Current&
c)
672 const std::string& name,
673 const DebugDrawer24BitColoredPointCloud& pointCloud,
674 const Ice::Current&
c)
681 const PolygonPointList& polygonPoints,
682 const DrawColor& colorInner,
683 const DrawColor& colorBorder,
684 Ice::Float lineWidth,
685 const Ice::Current&
c)
688 DEBUG_LAYER_NAME, name, polygonPoints, colorInner, colorBorder, lineWidth,
c);
693 const DebugDrawerTriMesh& triMesh,
694 const Ice::Current&
c)
701 const Vector3BasePtr& position,
702 const Vector3BasePtr& direction,
703 const DrawColor& color,
706 const Ice::Current&
c)
708 setArrowVisu(DEBUG_LAYER_NAME, name, position, direction, color, length, width,
c);
713 const Vector3BasePtr& globalPosition,
714 const Vector3BasePtr& direction,
717 const DrawColor& color,
718 const Ice::Current&
c)
721 DEBUG_LAYER_NAME, name, globalPosition, direction, length, radius, color,
c);
726 const Vector3BasePtr& globalPosition,
727 const Vector3BasePtr& directionVec,
729 Ice::Float circleCompletion,
731 const DrawColor& color,
734 (void)name, (
void)globalPosition, (void)directionVec, (
void)radius, (void)circleCompletion,
735 (
void)width, (void)color;
741 const std::string& name,
744 std::scoped_lock lock(mutex);
747 removeAndCommit(layer, name);
753 const std::string& name,
756 std::scoped_lock lock(mutex);
759 removeAndCommit(layer, name);
765 const std::string& name,
768 std::scoped_lock lock(mutex);
771 removeAndCommit(layer, name);
777 const std::string& name,
780 std::scoped_lock lock(mutex);
783 removeAndCommit(layer, name);
789 const std::string& name,
792 std::scoped_lock lock(mutex);
795 removeAndCommit(layer, name);
801 const std::string& name,
804 std::scoped_lock lock(mutex);
807 removeAndCommit(layer, name);
813 const std::string& name,
816 std::scoped_lock lock(mutex);
819 removeAndCommit(layer, name);
825 const std::string& name,
828 std::scoped_lock lock(mutex);
831 removeAndCommit(layer, name);
837 const std::string& name,
840 std::scoped_lock lock(mutex);
843 removeAndCommit(layer, name);
849 const std::string& name,
852 std::scoped_lock lock(mutex);
855 removeAndCommit(layer, name);
861 const std::string& name,
864 std::scoped_lock lock(mutex);
867 removeAndCommit(layer, name);
873 const std::string& name,
876 std::scoped_lock lock(mutex);
879 removeAndCommit(layer, name);
885 const std::string& name,
888 std::scoped_lock lock(mutex);
891 removeAndCommit(layer, name);
897 const std::string& name,
900 std::scoped_lock lock(mutex);
903 removeAndCommit(layer, name);
996 std::scoped_lock lock(mutex);
998 std::vector<viz::Layer> commit;
999 commit.reserve(layers.size());
1000 for (
auto& [name, layer] : layers)
1003 commit.push_back(layer);
1005 arviz.commit(commit);
1011 std::scoped_lock lock(mutex);
1015 arviz.commit({layer});
1027 (void)layer, (
void)visible;
1044 LayerInformationSequence
1096 const std::string& elementName,
1097 const Ice::Current&)
1099 (void)layer, (
void)elementName;
1105 const std::string& elementName,
1106 const Ice::Current&)
1108 (void)layer, (
void)elementName;
1112 DebugDrawerSelectionList
1120 DebugDrawerToArViz::getLayer(
const std::string& layerName)
1122 if (
auto it = layers.find(layerName); it != layers.end())
1128 return layers.emplace(layerName, arviz.
layer(layerName)).first->second;
1132 viz::data::ElementSeq::iterator
1133 DebugDrawerToArViz::findLayerElement(
viz::Layer& layer,
const std::string& elementName)
1135 return std::find_if(layer.
data_.elements.begin(),
1136 layer.
data_.elements.end(),
1137 [&elementName](
const viz::data::ElementPtr& e)
1138 { return e->id == elementName; });
1142 DebugDrawerToArViz::removeLayerElement(
viz::Layer& layer,
const std::string& name)
1144 auto it = findLayerElement(layer, name);
1145 if (it != layer.
data_.elements.end())
1147 layer.
data_.elements.erase(it);
1152 DebugDrawerToArViz::removeAndCommit(
const std::string& layerName,
const std::string& name)
1154 viz::Layer& layer = getLayer(layerName);
1155 removeLayerElement(layer, name);
1156 arviz.commit({layer});
#define LOG_FUNCTION_NOT_IMPLEMENTED_MESSAGE()
void removeRobotVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeLayer(const std::string &, const Ice::Current &=Ice::emptyCurrent) override
void setCircleArrowVisu(const std::string &layer, const std::string &name, const Vector3BasePtr &globalPosition, const Vector3BasePtr &directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void setSphereVisu(const std::string &layer, const std::string &name, const Vector3BasePtr &globalPosition, const DrawColor &color, Ice::Float radius, const Ice::Current &=Ice::emptyCurrent) override
void setCircleDebugLayerVisu(const std::string &name, const Vector3BasePtr &globalPosition, const Vector3BasePtr &directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void removeColoredPointCloudDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void enableLayerVisu(const std::string &layer, bool visible, const Ice::Current &=Ice::emptyCurrent) override
void clearDebugLayer(const Ice::Current &=Ice::emptyCurrent) override
void removeCircleDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeCircleVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeSphereDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removePointCloudDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeArrowDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setArViz(viz::Client arviz)
void setTriMeshDebugLayerVisu(const std::string &name, const DebugDrawerTriMesh &triMesh, const Ice::Current &=Ice::emptyCurrent) override
void setBoxVisu(const std::string &layer, const std::string &name, const PoseBasePtr &globalPose, const Vector3BasePtr &dimensions, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void removePolygonDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setPointCloudDebugLayerVisu(const std::string &name, const DebugDrawerPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
void remove24BitColoredPointCloudDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setCylinderVisu(const std::string &layer, const std::string &name, const Vector3BasePtr &globalPosition, const Vector3BasePtr &direction, Ice::Float length, Ice::Float radius, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
LayerInformationSequence layerInformation(const Ice::Current &=Ice::emptyCurrent) override
void set24BitColoredPointCloudDebugLayerVisu(const std::string &name, const DebugDrawer24BitColoredPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
void set24BitColoredPointCloudVisu(const std::string &layer, const std::string &name, const DebugDrawer24BitColoredPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
void removeSphereVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setColoredPointCloudVisu(const std::string &layer, const std::string &name, const DebugDrawerColoredPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
void setLineDebugLayerVisu(const std::string &name, const Vector3BasePtr &globalPosition1, const Vector3BasePtr &globalPosition2, Ice::Float lineWidth, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void removeTextVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void updateRobotConfig(const std::string &layer, const std::string &name, const NameValueMap &configuration, const Ice::Current &=Ice::emptyCurrent) override
void enableAllLayers(const Ice::Current &=Ice::emptyCurrent) override
void removeCylinderDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setScaledPoseVisu(const std::string &layer, const std::string &name, const PoseBasePtr &globalPose, Ice::Float scale, const Ice::Current &=Ice::emptyCurrent) override
void setLineVisu(const std::string &layer, const std::string &name, const Vector3BasePtr &globalPosition1, const Vector3BasePtr &globalPosition2, Ice::Float lineWidth, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void removeTriMeshVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setArrowVisu(const std::string &layer, const std::string &name, const Vector3BasePtr &position, const Vector3BasePtr &direction, const DrawColor &color, Ice::Float length, Ice::Float width, const Ice::Current &=Ice::emptyCurrent) override
void removeLineDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeLineSetVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void enableDebugLayerVisu(bool visible, const Ice::Current &=Ice::emptyCurrent) override
void updateRobotNodeColor(const std::string &layer, const std::string &name, const std::string &robotNodeName, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void removePoseDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void clearSelections(const std::string &, const Ice::Current &=Ice::emptyCurrent) override
void setLineSetDebugLayerVisu(const std::string &name, const DebugDrawerLineSet &lineSet, const Ice::Current &=Ice::emptyCurrent) override
void exportScene(const std::string &filename, const Ice::Current &=Ice::emptyCurrent) override
void removePointCloudVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeLineVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void disableAllLayers(const Ice::Current &=Ice::emptyCurrent) override
void setTextVisu(const std::string &layer, const std::string &name, const std::string &text, const Vector3BasePtr &globalPosition, const DrawColor &color, Ice::Int size, const Ice::Current &=Ice::emptyCurrent) override
void removeTextDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setPolygonVisu(const std::string &layer, const std::string &name, const PolygonPointList &polygonPoints, const DrawColor &colorInner, const DrawColor &colorBorder, Ice::Float lineWidth, const Ice::Current &=Ice::emptyCurrent) override
void removePolygonVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
bool hasLayer(const std::string &, const Ice::Current &=Ice::emptyCurrent) override
void setBoxDebugLayerVisu(const std::string &name, const PoseBasePtr &globalPose, const Vector3BasePtr &dimensions, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
armarx::StringBlackWhitelist layerBlackWhitelist
DebugDrawerSelectionList getSelections(const Ice::Current &=Ice::emptyCurrent) override
void setCylinderDebugLayerVisu(const std::string &name, const Vector3BasePtr &globalPosition, const Vector3BasePtr &direction, Ice::Float length, Ice::Float radius, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void setSphereDebugLayerVisu(const std::string &name, const Vector3BasePtr &globalPosition, const DrawColor &color, Ice::Float radius, const Ice::Current &=Ice::emptyCurrent) override
void setPoseDebugLayerVisu(const std::string &name, const PoseBasePtr &globalPose, const Ice::Current &=Ice::emptyCurrent) override
void updateRobotPose(const std::string &layer, const std::string &name, const PoseBasePtr &globalPose, const Ice::Current &=Ice::emptyCurrent) override
void select(const std::string &layer, const std::string &elementName, const Ice::Current &=Ice::emptyCurrent) override
void setTriMeshVisu(const std::string &layer, const std::string &name, const DebugDrawerTriMesh &triMesh, const Ice::Current &=Ice::emptyCurrent) override
void removeColoredPointCloudVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
Ice::StringSeq layerNames(const Ice::Current &=Ice::emptyCurrent) override
void removeCylinderVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setScaledPoseDebugLayerVisu(const std::string &name, const PoseBasePtr &globalPose, Ice::Float scale, const Ice::Current &=Ice::emptyCurrent) override
void updateRobotColor(const std::string &layer, const std::string &name, const DrawColor &color, const Ice::Current &=Ice::emptyCurrent) override
void setPoseVisu(const std::string &layer, const std::string &name, const PoseBasePtr &globalPose, const Ice::Current &=Ice::emptyCurrent) override
void enableSelections(const std::string &, const Ice::Current &=Ice::emptyCurrent) override
void removePoseVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeLineSetDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void removeBoxVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void clearAll(const Ice::Current &=Ice::emptyCurrent) override
void setRobotVisu(const std::string &layer, const std::string &name, const std::string &robotFile, const std::string &armarxProject, DrawStyle drawStyleType, const Ice::Current &=Ice::emptyCurrent) override
void exportLayer(const std::string &filename, const std::string &layerName, const Ice::Current &=Ice::emptyCurrent) override
void setPolygonDebugLayerVisu(const std::string &name, const PolygonPointList &polygonPoints, const DrawColor &colorInner, const DrawColor &colorBorder, Ice::Float lineWidth, const Ice::Current &=Ice::emptyCurrent) override
void clearLayer(const std::string &layer, const Ice::Current &=Ice::emptyCurrent) override
void removeTriMeshDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setPointCloudVisu(const std::string &layer, const std::string &name, const DebugDrawerPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
void updateBlackWhitelist(const BlackWhitelistUpdate &update, const Ice::Current &=Ice::emptyCurrent) override
void removeBoxDebugLayerVisu(const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void disableSelections(const std::string &, const Ice::Current &=Ice::emptyCurrent) override
void remove24BitColoredPointCloudVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void deselect(const std::string &layer, const std::string &elementName, const Ice::Current &=Ice::emptyCurrent) override
void setArrowDebugLayerVisu(const std::string &name, const Vector3BasePtr &position, const Vector3BasePtr &direction, const DrawColor &color, Ice::Float length, Ice::Float width, const Ice::Current &=Ice::emptyCurrent) override
void setTextDebugLayerVisu(const std::string &name, const std::string &text, const Vector3BasePtr &globalPosition, const DrawColor &color, Ice::Int size, const Ice::Current &=Ice::emptyCurrent) override
void removeArrowVisu(const std::string &layer, const std::string &name, const Ice::Current &=Ice::emptyCurrent) override
void setLineSetVisu(const std::string &layer, const std::string &name, const DebugDrawerLineSet &lineSet, const Ice::Current &=Ice::emptyCurrent) override
virtual Layer layer(std::string const &name) const
DerivedT & pose(Eigen::Matrix4f const &pose)
DerivedT & color(Color color)
Line & fromTo(Eigen::Vector3f from, Eigen::Vector3f to)
PointCloud & pointSizeInPixels(float s)
PointCloud & addPoint(ColoredPoint const &p)
Robot & joints(std::map< std::string, float > const &values)
Robot & useCollisionModel()
Robot & file(std::string const &project, std::string const &filename)
Robot & overrideColor(Color c)
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
#define ARMARX_CHECK_EQUAL(lhs, rhs)
This macro evaluates whether lhs is equal (==) rhs and if it turns out to be false it will throw an E...
#define ARMARX_VERBOSE
The logging level for verbose information.
Quaternion< float, 0 > Quaternionf
This file offers overloads of toIce() and fromIce() functions for STL container types.
void updateBlackWhitelist(StringBlackWhitelist &bw, const armarx::BlackWhitelistUpdate &update)
Eigen::Vector3f toEigen(const pcl::PointXYZ &pt)
Polygon & addPoint(Eigen::Vector3f p)