diff --git a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp index 141e205be8b11e11bed7c584b792f492536eea38..3d5e25e9ff330057ee8c2b62adbd000825aa5b47 100644 --- a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp +++ b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp @@ -982,8 +982,9 @@ namespace armarx SoSeparator* sep = new SoSeparator(); SoNode* c = CoinVisualizationFactory::getCoinVisualization(triMesh); sep->addChild(c); - layer.addedPolygonVisualizations[d.name] = sep; + layer.addedTriMeshVisualizations[d.name] = sep; layer.mainNode->addChild(sep); + } void DebugDrawerComponent::drawArrow(const DebugDrawerComponent::ArrowData& d) @@ -1007,7 +1008,6 @@ namespace armarx SoSeparator* sepArrow = VirtualRobot::CoinVisualizationFactory::CreateArrow(d.direction, d.length, d.width, d.color); sep->addChild(sepArrow); - layer.addedArrowVisualizations[d.name] = sep; layer.mainNode->addChild(sep); } @@ -2054,13 +2054,11 @@ namespace armarx ScopedRecursiveLockPtr l = getScopedAccumulatedDataLock(); std::string entryName = boost::replace_all_copy(std::string("__" + layerName + "__" + arrowName + "__"), " ", "_"); ArrowData& d = accumulatedUpdateData.arrows[entryName]; - d.position = Vector3Ptr::dynamicCast(position)->toEigen(); d.direction = Vector3Ptr::dynamicCast(direction)->toEigen(); d.color = VirtualRobot::VisualizationFactory::Color(color.r, color.g, color.b, 1 - color.a);; d.length = length; d.width = width; - d.layerName = layerName; d.name = arrowName; d.active = true; @@ -2387,7 +2385,6 @@ namespace armarx { ScopedRecursiveLockPtr lockData = getScopedAccumulatedDataLock(); ScopedRecursiveLockPtr lockVisu = getScopedVisuLock(); - // check for clear&remove //(updates only contain elements to add for each layer after the last clear for this layer was executed) //this prevents a sequence add,clear,add to result in an empty layer @@ -2470,9 +2467,9 @@ namespace armarx } accumulatedUpdateData.arrows.clear(); - for (auto i = accumulatedUpdateData.triMeshes.begin(); i != accumulatedUpdateData.triMeshes.end(); i++) + for (auto & e : accumulatedUpdateData.triMeshes) { - drawTriMesh(i->second); + drawTriMesh(e.second); } accumulatedUpdateData.triMeshes.clear();