From 8e09bdbb67cdfc448b07494b17fa3957a7592788 Mon Sep 17 00:00:00 2001
From: Fabian Paus <fabian.paus@kit.edu>
Date: Thu, 10 Oct 2019 10:55:40 +0200
Subject: [PATCH] Fix circle arrow visu

---
 .../ArViz/Coin/VisualizerArrowCircle.h           | 16 +++++++++-------
 .../components/ArVizExample/ArVizExample.cpp     |  2 +-
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h b/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h
index fe5cc9027..36ddd945e 100644
--- a/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h
+++ b/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h
@@ -35,14 +35,14 @@ namespace armarx::viz::coin
             }
             auto color = element.color;
             const float conv = 1.0f / 255.0f;
-            color.r *= conv;
-            color.g *= conv;
-            color.b *= conv;
-            color.a *= conv;
-            // This does not play well with
+            float r = color.r * conv;
+            float g = color.g * conv;
+            float b = color.b * conv;
+            float a = color.a * conv;
+
             auto torusNode = VirtualRobot::CoinVisualizationFactory().createTorus(
                                  element.radius, element.width, torusCompletion,
-                                 color.r, color.g, color.b, 0.0f,
+                                 r, g, b, 1.0f - a,
                                  8, rings);
             SoNode* torus = dynamic_cast<VirtualRobot::CoinVisualizationNode&>(*torusNode).getCoinVisualization();
 
@@ -59,7 +59,9 @@ namespace armarx::viz::coin
             tr->rotation.setValue(SbVec3f(0, 0, 1), angle1);
             subSep->addChild(tr);
 
-            //subSep->addChild(CreateArrow(Eigen::Vector3f::UnitY()*sign, 0, element.width, Color(1.0f, 1.0f, 1.0f)));
+            subSep->addChild(VirtualRobot::CoinVisualizationFactory::CreateArrow(
+                                 Eigen::Vector3f::UnitY()*sign, 0, element.width,
+                                 VirtualRobot::VisualizationFactory::Color(r, g, b, 1.0f - a)));
 
             node->removeAllChildren();
             node->addChild(torus);
diff --git a/source/RobotAPI/components/ArVizExample/ArVizExample.cpp b/source/RobotAPI/components/ArVizExample/ArVizExample.cpp
index 3432c156b..64e7eaf80 100644
--- a/source/RobotAPI/components/ArVizExample/ArVizExample.cpp
+++ b/source/RobotAPI/components/ArVizExample/ArVizExample.cpp
@@ -196,7 +196,7 @@ void ArVizExample::update()
             Eigen::Vector3f pos = Eigen::Vector3f::Zero();
             pos.z() = +300.0f;
             circle->pose = makeGlobalPose(pos, Eigen::Quaternionf::Identity());
-            circle->color = armarx::viz::Color{255, 255, 0, 255};
+            circle->color = armarx::viz::Color{200, 255, 0, 255};
 
             layer.elements.push_back(circle);
         }
-- 
GitLab