##// END OF EJS Templates
Change strategy method name
perrinel -
r581:5ee6983593ec
parent child
Show More
@@ -1,40 +1,40
1 1 #ifndef SCIQLOP_VARIABLECACHESTRATEGY_H
2 2 #define SCIQLOP_VARIABLECACHESTRATEGY_H
3 3
4 4 #include "CoreGlobal.h"
5 5
6 6 #include <QLoggingCategory>
7 7 #include <QObject>
8 8
9 9 #include <Data/SqpRange.h>
10 10
11 11 #include <QLoggingCategory>
12 12
13 13 #include <Common/spimpl.h>
14 14 #include <utility>
15 15
16 16
17 17 Q_DECLARE_LOGGING_CATEGORY(LOG_VariableCacheStrategy)
18 18
19 19 class Variable;
20 20
21 21 /**
22 22 * Possible types of zoom operation
23 23 */
24 24 enum class CacheStrategy { FixedTolerance, TwoThreashold };
25 25
26 26 /// This class aims to hande the cache strategy.
27 27 class SCIQLOP_CORE_EXPORT VariableCacheStrategy : public QObject {
28 28 Q_OBJECT
29 29 public:
30 30 explicit VariableCacheStrategy(QObject *parent = 0);
31 31
32 std::pair<SqpRange, SqpRange> computeCacheRange(const SqpRange &vRange,
33 const SqpRange &rangeRequested);
32 std::pair<SqpRange, SqpRange> computeStrategyRanges(const SqpRange &vRange,
33 const SqpRange &rangeRequested);
34 34
35 35 private:
36 36 class VariableCacheStrategyPrivate;
37 37 spimpl::unique_impl_ptr<VariableCacheStrategyPrivate> impl;
38 38 };
39 39
40 40 #endif // SCIQLOP_VARIABLECACHESTRATEGY_H
@@ -1,52 +1,52
1 1 #include "Variable/VariableCacheStrategy.h"
2 2
3 3 #include "Settings/SqpSettingsDefs.h"
4 4
5 5 #include "Variable/Variable.h"
6 6 #include "Variable/VariableController.h"
7 7
8 8 Q_LOGGING_CATEGORY(LOG_VariableCacheStrategy, "VariableCacheStrategy")
9 9
10 10 struct VariableCacheStrategy::VariableCacheStrategyPrivate {
11 11 VariableCacheStrategyPrivate() : m_CacheStrategy{CacheStrategy::FixedTolerance} {}
12 12
13 13 CacheStrategy m_CacheStrategy;
14 14 };
15 15
16 16
17 17 VariableCacheStrategy::VariableCacheStrategy(QObject *parent)
18 18 : QObject{parent}, impl{spimpl::make_unique_impl<VariableCacheStrategyPrivate>()}
19 19 {
20 20 }
21 21
22 22 std::pair<SqpRange, SqpRange>
23 VariableCacheStrategy::computeCacheRange(const SqpRange &vRange, const SqpRange &rangeRequested)
23 VariableCacheStrategy::computeStrategyRanges(const SqpRange &vRange, const SqpRange &rangeRequested)
24 24 {
25 25
26 26 auto varRanges = std::pair<SqpRange, SqpRange>{};
27 27
28 28 auto toleranceFactor = SqpSettings::toleranceValue(GENERAL_TOLERANCE_AT_UPDATE_KEY,
29 29 GENERAL_TOLERANCE_AT_UPDATE_DEFAULT_VALUE);
30 30 auto tolerance = toleranceFactor * (rangeRequested.m_TEnd - rangeRequested.m_TStart);
31 31
32 32 switch (impl->m_CacheStrategy) {
33 33 case CacheStrategy::FixedTolerance: {
34 34 varRanges.first = rangeRequested;
35 35 varRanges.second
36 36 = SqpRange{rangeRequested.m_TStart - tolerance, rangeRequested.m_TEnd + tolerance};
37 37 break;
38 38 }
39 39
40 40 case CacheStrategy::TwoThreashold: {
41 41 // TODO Implement
42 42 break;
43 43 }
44 44 default:
45 45 qCCritical(LOG_VariableCacheStrategy())
46 46 << tr("Impossible to use compute the cache range with an unknow cache strategy");
47 47 // No action
48 48 break;
49 49 }
50 50
51 51 return varRanges;
52 52 }
General Comments 3
Under Review
author

Pull request updated. Auto status change to "Under Review"

Changed commits:
  * 1 added
  * 0 removed

Changed files:
  * M core/include/Data/AcquisitionRequest.h
  * M core/include/Variable/VariableAcquisitionWorker.h
  * M core/include/Variable/VariableCacheStrategy.h
  * M core/include/Variable/VariableController.h
  * M core/src/Variable/VariableAcquisitionWorker.cpp
  * M core/src/Variable/VariableCacheStrategy.cpp
  * M core/src/Variable/VariableController.cpp
  * M gui/src/Visualization/VisualizationZoneWidget.cpp
  * M plugins/amda/include/AmdaPlugin.h
  * M plugins/amda/src/AmdaProvider.cpp
  * M plugins/amda/tests/TestAmdaAcquisition.cpp
  * M plugins/mockplugin/include/MockPlugin.h
  * R COPYING
  * R app/src/MainWindow.cpp
  * R app/ui/MainWindow.ui
  * R cmake/sciqlop_package_qt.cmake
  * R core/include/Common/DateUtils.h
  * R core/include/Common/MetaTypes.h
  * R core/include/Common/SortUtils.h
  * R core/include/CoreGlobal.h
  * R core/include/Data/AcquisitionDataPacket.h
  * R core/include/Data/ArrayData.h
  * R core/include/Data/DataProviderParameters.h
  * R core/include/Data/DataSeries.h
  * R core/include/Data/DataSeriesIterator.h
  * R core/include/Data/IDataProvider.h
  * R core/include/Data/IDataSeries.h
  * R core/include/Data/ScalarSeries.h
  * R core/include/Data/SqpRange.h
  * R core/include/Data/VectorSeries.h
  * R core/include/DataSource/DataSourceItemAction.h
  * R core/include/Network/NetworkController.h
  * R core/include/Plugin/PluginManager.h
  * R core/include/Settings/ISqpSettingsBindable.h
  * R core/include/Settings/SqpSettingsDefs.h
  * R core/include/Time/TimeController.h
  * R core/include/Variable/Variable.h
  * R core/include/Variable/VariableCacheController.h
  * R core/include/Variable/VariableModel.h
  * R core/include/Variable/VariableSynchronizationGroup.h
  * R core/include/Visualization/VisualizationController.h
  * R core/src/Common/DateUtils.cpp
  * R core/src/Data/DataSeriesIterator.cpp
  * R core/src/Data/ScalarSeries.cpp
  * R core/src/Data/VectorSeries.cpp
  * R core/src/DataSource/DataSourceItemAction.cpp
  * R core/src/Network/NetworkController.cpp
  * R core/src/Plugin/PluginManager.cpp
  * R core/src/Settings/SqpSettingsDefs.cpp
  * R core/src/Time/TimeController.cpp
  * R core/src/Variable/Variable.cpp
  * R core/src/Variable/VariableCacheController.cpp
  * R core/src/Variable/VariableModel.cpp
  * R core/src/Variable/VariableSynchronizationGroup.cpp
  * R core/src/Visualization/VisualizationController.cpp
  * R core/tests/Data/TestDataSeries.cpp
  * R core/tests/Data/TestOneDimArrayData.cpp
  * R core/tests/Data/TestTwoDimArrayData.cpp
  * R core/tests/Variable/TestVariable.cpp
  * R core/tests/Variable/TestVariableCacheController.cpp
  * R gui/include/Common/ColorUtils.h
  * R gui/include/DataSource/DataSourceTreeWidgetHelper.h
  * R gui/include/DataSource/DataSourceTreeWidgetItem.h
  * R gui/include/DataSource/DataSourceWidget.h
  * R gui/include/Settings/SqpSettingsDialog.h
  * R gui/include/Settings/SqpSettingsGeneralWidget.h
  * R gui/include/SidePane/SqpSidePane.h
  * R gui/include/TimeWidget/TimeWidget.h
  * R gui/include/Variable/VariableInspectorWidget.h
  * R gui/include/Variable/VariableMenuHeaderWidget.h
  * R gui/include/Visualization/IVariableContainer.h
  * R gui/include/Visualization/IVisualizationWidget.h
  * R gui/include/Visualization/IVisualizationWidgetVisitor.h
  * R gui/include/Visualization/VisualizationDefs.h
  * R gui/include/Visualization/VisualizationGraphHelper.h
  * R gui/include/Visualization/VisualizationGraphRenderingDelegate.h
  * R gui/include/Visualization/VisualizationGraphWidget.h
  * R gui/include/Visualization/VisualizationTabWidget.h
  * R gui/include/Visualization/VisualizationWidget.h
  * R gui/include/Visualization/VisualizationZoneWidget.h
  * R gui/include/Visualization/operations/GenerateVariableMenuOperation.h
  * R gui/include/Visualization/operations/MenuBuilder.h
  * R gui/include/Visualization/operations/RemoveVariableOperation.h
  * R gui/include/Visualization/operations/RescaleAxeOperation.h
  * R gui/include/Visualization/qcustomplot.h
  * R gui/resources/icones/dataSourceComponent.png
  * R gui/resources/icones/dataSourceNode.png
  * R gui/resources/icones/dataSourceProduct.png
  * R gui/resources/icones/dataSourceRoot.png
  * R gui/resources/icones/delete.png
  * R gui/resources/icones/next.png
  * R gui/resources/icones/openInspector.png
  * R gui/resources/icones/plot.png
  * R gui/resources/icones/previous.png
  * R gui/resources/icones/sciqlop2PNG_1024.png
  * R gui/resources/icones/unplot.png
  * R gui/resources/sqpguiresources.qrc
  * R gui/src/Common/ColorUtils.cpp
  * R gui/src/DataSource/DataSourceTreeWidgetHelper.cpp
  * R gui/src/DataSource/DataSourceTreeWidgetItem.cpp
  * R gui/src/DataSource/DataSourceWidget.cpp
  * R gui/src/Settings/SqpSettingsDialog.cpp
  * R gui/src/Settings/SqpSettingsGeneralWidget.cpp
  * R gui/src/SidePane/SqpSidePane.cpp
  * R gui/src/TimeWidget/TimeWidget.cpp
  * R gui/src/Variable/VariableInspectorWidget.cpp
  * R gui/src/Variable/VariableMenuHeaderWidget.cpp
  * R gui/src/Visualization/VisualizationGraphHelper.cpp
  * R gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp
  * R gui/src/Visualization/VisualizationGraphWidget.cpp
  * R gui/src/Visualization/VisualizationTabWidget.cpp
  * R gui/src/Visualization/VisualizationWidget.cpp
  * R gui/src/Visualization/operations/GenerateVariableMenuOperation.cpp
  * R gui/src/Visualization/operations/MenuBuilder.cpp
  * R gui/src/Visualization/operations/RemoveVariableOperation.cpp
  * R gui/src/Visualization/operations/RescaleAxeOperation.cpp
  * R gui/src/Visualization/qcustomplot.cpp
  * R gui/ui/DataSource/DataSourceWidget.ui
  * R gui/ui/Settings/SqpSettingsDialog.ui
  * R gui/ui/Settings/SqpSettingsGeneralWidget.ui
  * R gui/ui/SidePane/SqpSidePane.ui
  * R gui/ui/TimeWidget/TimeWidget.ui
  * R gui/ui/Variable/VariableInspectorWidget.ui
  * R gui/ui/Variable/VariableMenuHeaderWidget.ui
  * R gui/ui/Visualization/VisualizationGraphWidget.ui
  * R gui/ui/Visualization/VisualizationTabWidget.ui
  * R gui/ui/Visualization/VisualizationWidget.ui
  * R gui/ui/Visualization/VisualizationZoneWidget.ui
  * R gui/vera-exclusions/exclusions.txt
  * R plugin/CMakeLists.txt
  * R plugin/cmake/Findsciqlop-plugin.cmake
  * R plugin/include/Plugin/IPlugin.h
  * R plugins/amda/CMakeLists.txt
  * R plugins/amda/cmake/Findsciqlop-amda.cmake
  * R plugins/amda/include/AmdaDefs.h
  * R plugins/amda/include/AmdaGlobal.h
  * R plugins/amda/include/AmdaParser.h
  * R plugins/amda/include/AmdaProvider.h
  * R plugins/amda/include/AmdaResultParser.h
  * R plugins/amda/resources/amda.json
  * R plugins/amda/resources/amdaresources.qrc
  * R plugins/amda/resources/samples/AmdaSample.json
  * R plugins/amda/resources/samples/AmdaSampleV2.json
  * R plugins/amda/src/AmdaDefs.cpp
  * R plugins/amda/src/AmdaParser.cpp
  * R plugins/amda/src/AmdaPlugin.cpp
  * R plugins/amda/src/AmdaResultParser.cpp
  * R plugins/amda/tests-resources/TestAmdaAcquisition/AmdaData-2012-01-01-12-00-00_2012-01-03-12-00-00.txt
  * R plugins/amda/tests-resources/TestAmdaParser/TwoRootsFile.json
  * R plugins/amda/tests-resources/TestAmdaParser/ValidFile1.json
  * R plugins/amda/tests-resources/TestAmdaParser/WrongRootKey.json
  * R plugins/amda/tests-resources/TestAmdaParser/WrongRootType.json
  * R plugins/amda/tests-resources/TestAmdaResultParser/FileNotFound.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/NaNValue.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/NaNX.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/NoUnit.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/TooManyValues.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/ValidScalar1.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/ValidVector1.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/WrongDate.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/WrongUnit.txt
  * R plugins/amda/tests-resources/TestAmdaResultParser/WrongValue.txt
  * R plugins/amda/tests/TestAmdaParser.cpp
  * R plugins/amda/tests/TestAmdaResultParser.cpp
  * R plugins/mockplugin/CMakeLists.txt
  * R plugins/mockplugin/cmake/Findsciqlop-mockplugin.cmake
  * R plugins/mockplugin/include/CosinusProvider.h
  * R plugins/mockplugin/include/MockPluginGlobal.h
  * R plugins/mockplugin/resources/mockplugin.json
  * R plugins/mockplugin/src/CosinusProvider.cpp
  * R plugins/mockplugin/src/MockPlugin.cpp
  * R README.md
  * R app/CMakeLists.txt
  * R app/include/MainWindow.h
  * R app/src/Main.cpp
  * R app/vera-exclusions/exclusions.txt
  * R cmake/sciqlop.cmake
  * R cmake/sciqlop_applications.cmake
  * R cmake/sciqlop_package.cmake
  * R cmake/sciqlop_params.cmake
  * R core/CMakeLists.txt
  * R core/include/Common/spimpl.h
  * R core/include/DataSource/DataSourceController.h
  * R core/include/DataSource/DataSourceItem.h
  * R core/src/DataSource/DataSourceController.cpp
  * R core/src/DataSource/DataSourceItem.cpp
  * R core/tests/DataSource/TestDataSourceController.cpp
  * R core/vera-exclusions/exclusions.txt
  * R formatting/cmake/use_clangformat.cmake
  * R formatting/vera-exclusions/exclusions.txt
  * R gui/CMakeLists.txt
  * R gui/include/SqpApplication.h
  * R gui/src/SqpApplication.cpp
  * R LICENSE
  * R app/src/mainwindow.cpp
  * R app/src/mainwindow.ui
Approved
author

Status change > Approved

You need to be logged in to leave comments. Login now