From 06c3d494ae22cf2b35995b5120668ea32990e11d Mon Sep 17 00:00:00 2001 From: Fabian Paus <fabian.paus@kit.edu> Date: Thu, 26 Aug 2021 11:20:12 +0200 Subject: [PATCH] Reduce includes in ArViz --- .../ArViz/Coin/ElementVisualizer.cpp | 4 +++ .../components/ArViz/Coin/ElementVisualizer.h | 11 +++---- .../ArViz/Coin/VisualizationCylindroid.h | 2 ++ .../ArViz/Coin/VisualizationPath.cpp | 3 +- .../components/ArViz/Coin/Visualizer.cpp | 30 ++++++++----------- .../components/ArViz/Coin/Visualizer.h | 2 ++ .../ArViz/ArVizWidgetController.cpp | 6 +--- .../gui-plugins/ArViz/ArVizWidgetController.h | 2 -- 8 files changed, 29 insertions(+), 31 deletions(-) diff --git a/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.cpp b/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.cpp index e2436920e..e04d149a3 100644 --- a/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.cpp +++ b/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.cpp @@ -6,6 +6,10 @@ #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h> +#include <Inventor/nodes/SoUnits.h> +#include <Inventor/nodes/SoTransform.h> +#include <Inventor/nodes/SoMaterial.h> + namespace armarx::viz::coin { ElementVisualization::ElementVisualization() diff --git a/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.h b/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.h index 9be0fa5b5..af58bde80 100644 --- a/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.h +++ b/source/RobotAPI/components/ArViz/Coin/ElementVisualizer.h @@ -1,19 +1,20 @@ #pragma once -#include <Inventor/nodes/SoMaterial.h> +#include <RobotAPI/interface/ArViz/Elements.h> + #include <Inventor/nodes/SoSeparator.h> -#include <Inventor/nodes/SoUnits.h> -#include <Inventor/nodes/SoTransform.h> #include <memory> -#include <RobotAPI/interface/ArViz/Elements.h> - namespace armarx::viz::data { class Element; } +class SoUnits; +class SoTransform; +class SoMaterial; + namespace armarx::viz::coin { struct ElementVisualization diff --git a/source/RobotAPI/components/ArViz/Coin/VisualizationCylindroid.h b/source/RobotAPI/components/ArViz/Coin/VisualizationCylindroid.h index 06e58d26a..478f99c01 100644 --- a/source/RobotAPI/components/ArViz/Coin/VisualizationCylindroid.h +++ b/source/RobotAPI/components/ArViz/Coin/VisualizationCylindroid.h @@ -7,6 +7,8 @@ #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h> #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationNode.h> +#include <Inventor/nodes/SoUnits.h> + namespace armarx::viz::coin { struct VisualizationCylindroid : TypedElementVisualization<SoSeparator> diff --git a/source/RobotAPI/components/ArViz/Coin/VisualizationPath.cpp b/source/RobotAPI/components/ArViz/Coin/VisualizationPath.cpp index a0190abd7..84c7b3a30 100644 --- a/source/RobotAPI/components/ArViz/Coin/VisualizationPath.cpp +++ b/source/RobotAPI/components/ArViz/Coin/VisualizationPath.cpp @@ -7,6 +7,7 @@ #include <Inventor/nodes/SoDrawStyle.h> #include <Inventor/nodes/SoLineSet.h> #include <Inventor/nodes/SoPointSet.h> +#include <Inventor/nodes/SoMaterial.h> namespace armarx::viz::coin { @@ -94,4 +95,4 @@ namespace armarx::viz::coin return true; } -} // namespace armarx::viz::coin \ No newline at end of file +} // namespace armarx::viz::coin diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp index e25405e6a..c76af807a 100644 --- a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp +++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp @@ -1,23 +1,21 @@ #include "Visualizer.h" +#include "VisualizationRobot.h" +#include "VisualizationObject.h" + #include <ArmarXCore/core/logging/Logging.h> #include <ArmarXCore/util/CPPUtility/GetTypeString.h> -#include <Inventor/sensors/SoTimerSensor.h> -#include <Inventor/nodes/SoUnits.h> -#include <QCoreApplication> -#include <thread> - +#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h> +#include <VirtualRobot/Visualization/VisualizationFactory.h> +#include <Inventor/nodes/SoUnits.h> #include <Inventor/actions/SoWriteAction.h> #include <Inventor/actions/SoToVRML2Action.h> #include <Inventor/VRMLnodes/SoVRMLGroup.h> -#include <Inventor/nodes/SoRotation.h> -#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h> -#include <VirtualRobot/Visualization/VisualizationFactory.h> -#include "VisualizationRobot.h" +#include <thread> namespace armarx::viz { @@ -93,8 +91,12 @@ namespace armarx::viz CoinVisualizer::~CoinVisualizer() { - // We need to clear the caches while Coin is still initialized + } + + void CoinVisualizer::clearCache() + { coin::clearRobotCache(); + coin::clearObjectCache(); } @@ -120,14 +122,6 @@ namespace armarx::viz } state = CoinVisualizerState::STOPPED; - /* - state = CoinVisualizerState::STOPPING; - while (state != CoinVisualizerState::STOPPED) - { - QCoreApplication::processEvents(); - usleep(1000); - } - */ } CoinVisualizer_ApplyTiming CoinVisualizer::apply(data::LayerUpdate const& update) diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.h b/source/RobotAPI/components/ArViz/Coin/Visualizer.h index 1494be07d..195172e9c 100644 --- a/source/RobotAPI/components/ArViz/Coin/Visualizer.h +++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.h @@ -191,6 +191,8 @@ namespace armarx::viz ~CoinVisualizer(); + void clearCache(); + void registerVisualizationTypes(); void startAsync(StorageInterfacePrx const& storage); diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp index 4b34e9a3a..c3aad744b 100644 --- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp @@ -21,10 +21,7 @@ */ #include "ArVizWidgetController.h" -#include <RobotAPI/components/ArViz/Coin/VisualizationObject.h> -#include <RobotAPI/components/ArViz/Coin/VisualizationRobot.h> -#include <ArmarXCore/core/ArmarXManager.h> #include <ArmarXCore/observers/variant/Variant.h> #include <SimoxUtility/algorithm/string/string_tools.h> @@ -150,8 +147,7 @@ namespace armarx void ArVizWidgetController::onExitComponent() { - armarx::viz::coin::clearObjectCache(); - armarx::viz::coin::clearRobotCache(); + visualizer.clearCache(); } void ArVizWidgetController::onConnectComponent() diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.h b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.h index 4a493dbd1..2dd295afc 100644 --- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.h +++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.h @@ -33,8 +33,6 @@ #include <ArmarXCore/interface/observers/ObserverInterface.h> #include <ArmarXCore/core/system/ImportExportComponent.h> -#include <Inventor/nodes/SoSeparator.h> - #include "LayerInfoTree.h" -- GitLab