diff --git a/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h b/source/RobotAPI/components/ArViz/Coin/VisualizerArrowCircle.h index fe5cc902755c63f1ef0a70c944c98d92caf95a47..36ddd945e4ee84787f43d269046b7ec54e45700c 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 3432c156b4e70b9a1f2cb610428b12a703e436d8..64e7eaf80c94b3a1dade213ebbc739bd929e6c9e 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); }