##// END OF EJS Templates
Fixes slowness when opening variable
Alexandre Leroux -
r768:46391f71d5a3
parent child
Show More
@@ -66,23 +66,20 std::unique_ptr<IDataSeries> VectorSeries::clone() const
66 std::shared_ptr<IDataSeries> VectorSeries::subDataSeries(const SqpRange &range)
66 std::shared_ptr<IDataSeries> VectorSeries::subDataSeries(const SqpRange &range)
67 {
67 {
68 auto subXAxisData = std::vector<double>();
68 auto subXAxisData = std::vector<double>();
69 auto subXValuesData = std::vector<double>();
69 auto subValuesData = std::vector<double>();
70 auto subYValuesData = std::vector<double>();
71 auto subZValuesData = std::vector<double>();
72
70
73 this->lockRead();
71 this->lockRead();
74 {
72 {
75 auto bounds = xAxisRange(range.m_TStart, range.m_TEnd);
73 auto bounds = xAxisRange(range.m_TStart, range.m_TEnd);
76 for (auto it = bounds.first; it != bounds.second; ++it) {
74 for (auto it = bounds.first; it != bounds.second; ++it) {
77 subXAxisData.push_back(it->x());
75 subXAxisData.push_back(it->x());
78 subXValuesData.push_back(it->value(0));
76 subValuesData.push_back(it->value(0));
79 subYValuesData.push_back(it->value(1));
77 subValuesData.push_back(it->value(1));
80 subZValuesData.push_back(it->value(2));
78 subValuesData.push_back(it->value(2));
81 }
79 }
82 }
80 }
83 this->unlock();
81 this->unlock();
84
82
85 return std::make_shared<VectorSeries>(std::move(subXAxisData), std::move(subXValuesData),
83 return std::make_shared<VectorSeries>(std::move(subXAxisData), std::move(subValuesData),
86 std::move(subYValuesData), std::move(subZValuesData),
87 this->xAxisUnit(), this->valuesUnit());
84 this->xAxisUnit(), this->valuesUnit());
88 }
85 }
General Comments 0
You need to be logged in to leave comments. Login now