From f27d8962b8c9e71fb814f9bcbbea26e9a32ebe22 Mon Sep 17 00:00:00 2001 From: Fabian Paus <fabian.paus@kit.edu> Date: Wed, 4 Dec 2019 16:02:39 +0100 Subject: [PATCH] ArViz: Fix loading multiple recordings --- scenarios/ArVizExample/config/ArVizExample.cfg | 16 ++++++++-------- .../gui-plugins/ArViz/ArVizWidgetController.cpp | 6 ++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/scenarios/ArVizExample/config/ArVizExample.cfg b/scenarios/ArVizExample/config/ArVizExample.cfg index e041fff7a..dcaf42ea8 100644 --- a/scenarios/ArVizExample/config/ArVizExample.cfg +++ b/scenarios/ArVizExample/config/ArVizExample.cfg @@ -18,6 +18,14 @@ # ArmarX.ApplicationName = "" +# ArmarX.ArVizExample.ArVizTopicName: Layer updates are sent over this topic. +# Attributes: +# - Default: ArVizTopic +# - Case sensitivity: yes +# - Required: no +# ArmarX.ArVizExample.ArVizTopicName = ArVizTopic + + # ArmarX.ArVizExample.EnableProfiling: enable profiler which is used for logging performance events # Attributes: # - Default: false @@ -44,14 +52,6 @@ # ArmarX.ArVizExample.ObjectName = "" -# ArmarX.ArVizExample.TopicName: Layer updates are sent over this topic. -# Attributes: -# - Default: ArVizTopic -# - Case sensitivity: yes -# - Required: no -# ArmarX.ArVizExample.TopicName = ArVizTopic - - # ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_USER_CONFIG_DIR is set, the cache path will be made relative to ARMARX_USER_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${HOME}/.armarx) # Attributes: # - Default: mongo/.cache diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp index 84dff5561..1093b19bf 100644 --- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp @@ -527,6 +527,11 @@ void ArVizWidgetController::onReplayStart(bool) ARMARX_WARNING << "No recording selected, so no replay can be started"; return; } + { + std::unique_lock<std::mutex> lock(recordingBatchCacheMutex); + recordingBatchCache.clear(); + } + visualizer.stop(); changeMode(ArVizWidgetMode::ReplayingManual); @@ -543,6 +548,7 @@ void ArVizWidgetController::onReplayStart(bool) widget.replayRevisionSlider->setValue(currentRecording.firstRevision); widget.replayRevisionSlider->blockSignals(false); + currentRevision = -1; onReplaySliderChanged(widget.replayRevisionSlider->value()); } -- GitLab