diff --git a/scenarios/ArVizExample/config/ArVizExample.cfg b/scenarios/ArVizExample/config/ArVizExample.cfg index e041fff7aa51310f06506d2e64a310782cfa4b69..dcaf42ea8c43dc0eb1f35dc07c04375e95ef4901 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 84dff5561b2dbff5c0228490b589e1514e27446c..1093b19bfb5b623a1e5f3b2a2f0b8ac76c09691e 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()); }