diff --git a/core/include/Data/SqpDateTime.h b/core/include/Data/SqpDateTime.h index dc43dc1..7ecec9f 100644 --- a/core/include/Data/SqpDateTime.h +++ b/core/include/Data/SqpDateTime.h @@ -15,11 +15,6 @@ struct SqpDateTime { { return (m_TStart <= dateTime.m_TStart && m_TEnd >= dateTime.m_TEnd); } - - bool intersect(const SqpDateTime &dateTime) - { - return (m_TEnd >= dateTime.m_TStart && m_TStart <= dateTime.m_TEnd); - } }; // Required for using shared_ptr in signals/slots diff --git a/core/include/Variable/Variable.h b/core/include/Variable/Variable.h index d7d0299..7ac0c1c 100644 --- a/core/include/Variable/Variable.h +++ b/core/include/Variable/Variable.h @@ -34,7 +34,6 @@ public: IDataSeries *dataSeries() const noexcept; bool contains(const SqpDateTime &dateTime); - bool intersect(const SqpDateTime &dateTime); void setDataSeries(std::unique_ptr dataSeries) noexcept; public slots: diff --git a/core/src/Variable/Variable.cpp b/core/src/Variable/Variable.cpp index 9b2a67f..9db3be1 100644 --- a/core/src/Variable/Variable.cpp +++ b/core/src/Variable/Variable.cpp @@ -80,15 +80,10 @@ bool Variable::contains(const SqpDateTime &dateTime) // provider if necessary. qCInfo(LOG_Variable()) << "NEW DATE NEEDED"; - // impl->m_DateTime = dateTime; + impl->m_DateTime = dateTime; return false; } return true; } - -bool Variable::intersect(const SqpDateTime &dateTime) -{ - return impl->m_DateTime.intersect(dateTime); -} diff --git a/gui/src/Visualization/VisualizationGraphWidget.cpp b/gui/src/Visualization/VisualizationGraphWidget.cpp index dbbe055..8f909b5 100644 --- a/gui/src/Visualization/VisualizationGraphWidget.cpp +++ b/gui/src/Visualization/VisualizationGraphWidget.cpp @@ -111,38 +111,13 @@ void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1, const QCPRange for (auto it = impl->m_VariableToPlotMultiMap.cbegin(); it != impl->m_VariableToPlotMultiMap.cend(); ++it) { - auto variable = it->first; - qCInfo(LOG_VisualizationGraphWidget()) - << tr("TORM: VisualizationGraphWidget::onRangeChanged") - << variable->dataSeries()->xAxisData()->size(); - auto dateTime = SqpDateTime{t2.lower, t2.upper}; + auto tolerance = 0.1 * (t2.upper - t2.lower); + auto dateTime = SqpDateTime{t2.lower - tolerance, t2.upper + tolerance}; + qCInfo(LOG_VisualizationGraphWidget()) << tr("VisualizationGraphWidget::onRangeChanged") + << variable->dataSeries()->xAxisData()->size(); if (!variable->contains(dateTime)) { - - if (variable->intersect(dateTime)) { - auto variableDateTime = variable->dateTime(); - if (variableDateTime.m_TStart < dateTime.m_TStart) { - dateTime.m_TStart = variableDateTime.m_TStart; - // add 20% tolerance for left (start) side - auto tolerance = 0.2 * (dateTime.m_TEnd - dateTime.m_TStart); - dateTime.m_TStart -= tolerance; - } - - if (variableDateTime.m_TEnd > dateTime.m_TEnd) { - dateTime.m_TEnd = variableDateTime.m_TEnd; - // add 20% tolerance for right (end) side - auto tolerance = 0.2 * (dateTime.m_TEnd - dateTime.m_TStart); - dateTime.m_TEnd += tolerance; - } - } - else { - // add 10% tolerance for each side - auto tolerance = 0.1 * (dateTime.m_TEnd - dateTime.m_TStart); - dateTime.m_TStart -= tolerance; - dateTime.m_TEnd += tolerance; - } - // CHangement detected, we need to sqpApp->variableController().requestDataLoading(variable, dateTime); } }