@@ -65,6 +65,8 public: | |||
|
65 | 65 | double x() const override { return m_XIt->at(0); } |
|
66 | 66 | double value() const override { return m_ValuesIt->at(0); } |
|
67 | 67 | double value(int componentIndex) const override { return m_ValuesIt->at(componentIndex); } |
|
68 | double minValue() const override { return m_ValuesIt->min(); } | |
|
69 | double maxValue() const override { return m_ValuesIt->max(); } | |
|
68 | 70 | |
|
69 | 71 | private: |
|
70 | 72 | ArrayData<1>::Iterator m_XIt; |
@@ -241,8 +243,19 public: | |||
|
241 | 243 | return std::make_pair(cend(), cend()); |
|
242 | 244 | } |
|
243 | 245 | |
|
244 | /// @todo ALX: complete | |
|
246 | // Gets the iterator on the min of all values data | |
|
247 | auto minIt = std::min_element( | |
|
248 | xAxisRangeIts.first, xAxisRangeIts.second, [](const auto &it1, const auto &it2) { | |
|
249 | return SortUtils::minCompareWithNaN(it1.minValue(), it2.minValue()); | |
|
250 | }); | |
|
245 | 251 | |
|
252 | // Gets the iterator on the max of all values data | |
|
253 | auto maxIt = std::max_element( | |
|
254 | xAxisRangeIts.first, xAxisRangeIts.second, [](const auto &it1, const auto &it2) { | |
|
255 | return SortUtils::maxCompareWithNaN(it1.maxValue(), it2.maxValue()); | |
|
256 | }); | |
|
257 | ||
|
258 | return std::make_pair(minIt, maxIt); | |
|
246 | 259 | } |
|
247 | 260 | |
|
248 | 261 | // /////// // |
@@ -24,6 +24,8 public: | |||
|
24 | 24 | virtual double x() const = 0; |
|
25 | 25 | virtual double value() const = 0; |
|
26 | 26 | virtual double value(int componentIndex) const = 0; |
|
27 | virtual double minValue() const = 0; | |
|
28 | virtual double maxValue() const = 0; | |
|
27 | 29 | }; |
|
28 | 30 | |
|
29 | 31 | explicit DataSeriesIteratorValue(std::unique_ptr<Impl> impl); |
@@ -43,6 +45,10 public: | |||
|
43 | 45 | double value() const; |
|
44 | 46 | /// Gets value data depending on an index |
|
45 | 47 | double value(int componentIndex) const; |
|
48 | /// Gets min of all values data | |
|
49 | double minValue() const; | |
|
50 | /// Gets max of all values data | |
|
51 | double maxValue() const; | |
|
46 | 52 | |
|
47 | 53 | private: |
|
48 | 54 | std::unique_ptr<Impl> m_Impl; |
@@ -47,6 +47,16 double DataSeriesIteratorValue::value(int componentIndex) const | |||
|
47 | 47 | return m_Impl->value(componentIndex); |
|
48 | 48 | } |
|
49 | 49 | |
|
50 | double DataSeriesIteratorValue::minValue() const | |
|
51 | { | |
|
52 | return m_Impl->minValue(); | |
|
53 | } | |
|
54 | ||
|
55 | double DataSeriesIteratorValue::maxValue() const | |
|
56 | { | |
|
57 | return m_Impl->maxValue(); | |
|
58 | } | |
|
59 | ||
|
50 | 60 | DataSeriesIterator::DataSeriesIterator(DataSeriesIteratorValue value) |
|
51 | 61 | : m_CurrentValue{std::move(value)} |
|
52 | 62 | { |
General Comments 0
You need to be logged in to leave comments.
Login now