##// END OF EJS Templates
Replaces QString unit by a new struct...
Alexandre Leroux -
r164:4c64b786fec1
parent child
Show More
@@ -21,30 +21,30 public:
21 std::shared_ptr<ArrayData<1> > xAxisData() override { return m_XAxisData; }
21 std::shared_ptr<ArrayData<1> > xAxisData() override { return m_XAxisData; }
22
22
23 /// @sa IDataSeries::xAxisUnit()
23 /// @sa IDataSeries::xAxisUnit()
24 QString xAxisUnit() const override { return m_XAxisUnit; }
24 Unit xAxisUnit() const override { return m_XAxisUnit; }
25
25
26 /// @return the values dataset
26 /// @return the values dataset
27 std::shared_ptr<ArrayData<Dim> > valuesData() const { return m_ValuesData; }
27 std::shared_ptr<ArrayData<Dim> > valuesData() const { return m_ValuesData; }
28
28
29 /// @sa IDataSeries::valuesUnit()
29 /// @sa IDataSeries::valuesUnit()
30 QString valuesUnit() const override { return m_ValuesUnit; }
30 Unit valuesUnit() const override { return m_ValuesUnit; }
31
31
32 protected:
32 protected:
33 /// Protected ctor (DataSeries is abstract)
33 /// Protected ctor (DataSeries is abstract)
34 explicit DataSeries(std::shared_ptr<ArrayData<1> > xAxisData, const QString &xAxisUnit,
34 explicit DataSeries(std::shared_ptr<ArrayData<1> > xAxisData, Unit xAxisUnit,
35 std::shared_ptr<ArrayData<Dim> > valuesData, const QString &valuesUnit)
35 std::shared_ptr<ArrayData<Dim> > valuesData, Unit valuesUnit)
36 : m_XAxisData{xAxisData},
36 : m_XAxisData{xAxisData},
37 m_XAxisUnit{xAxisUnit},
37 m_XAxisUnit{std::move(xAxisUnit)},
38 m_ValuesData{valuesData},
38 m_ValuesData{valuesData},
39 m_ValuesUnit{valuesUnit}
39 m_ValuesUnit{std::move(valuesUnit)}
40 {
40 {
41 }
41 }
42
42
43 private:
43 private:
44 std::shared_ptr<ArrayData<1> > m_XAxisData;
44 std::shared_ptr<ArrayData<1> > m_XAxisData;
45 QString m_XAxisUnit;
45 Unit m_XAxisUnit;
46 std::shared_ptr<ArrayData<Dim> > m_ValuesData;
46 std::shared_ptr<ArrayData<Dim> > m_ValuesData;
47 QString m_ValuesUnit;
47 Unit m_ValuesUnit;
48 };
48 };
49
49
50 #endif // SCIQLOP_DATASERIES_H
50 #endif // SCIQLOP_DATASERIES_H
@@ -8,6 +8,16
8 template <int Dim>
8 template <int Dim>
9 class ArrayData;
9 class ArrayData;
10
10
11 struct Unit {
12 explicit Unit(const QString &name = {}, bool timeUnit = false)
13 : m_Name{name}, m_TimeUnit{timeUnit}
14 {
15 }
16
17 QString m_Name; ///< Unit name
18 bool m_TimeUnit; ///< The unit is a unit of time
19 };
20
11 /**
21 /**
12 * @brief The IDataSeries aims to declare a data series.
22 * @brief The IDataSeries aims to declare a data series.
13 *
23 *
@@ -29,9 +39,9 public:
29 /// Returns the x-axis dataset
39 /// Returns the x-axis dataset
30 virtual std::shared_ptr<ArrayData<1> > xAxisData() = 0;
40 virtual std::shared_ptr<ArrayData<1> > xAxisData() = 0;
31
41
32 virtual QString xAxisUnit() const = 0;
42 virtual Unit xAxisUnit() const = 0;
33
43
34 virtual QString valuesUnit() const = 0;
44 virtual Unit valuesUnit() const = 0;
35 };
45 };
36
46
37 #endif // SCIQLOP_IDATASERIES_H
47 #endif // SCIQLOP_IDATASERIES_H
@@ -14,7 +14,7 public:
14 * @param xAxisUnit x-axis unit
14 * @param xAxisUnit x-axis unit
15 * @param valuesUnit values unit
15 * @param valuesUnit values unit
16 */
16 */
17 explicit ScalarSeries(int size, const QString &xAxisUnit, const QString &valuesUnit);
17 explicit ScalarSeries(int size, Unit xAxisUnit, Unit valuesUnit);
18
18
19 /**
19 /**
20 * Sets data for a specific index. The index has to be valid to be effective
20 * Sets data for a specific index. The index has to be valid to be effective
@@ -1,8 +1,8
1 #include <Data/ScalarSeries.h>
1 #include <Data/ScalarSeries.h>
2
2
3 ScalarSeries::ScalarSeries(int size, const QString &xAxisUnit, const QString &valuesUnit)
3 ScalarSeries::ScalarSeries(int size, Unit xAxisUnit, Unit valuesUnit)
4 : DataSeries{std::make_shared<ArrayData<1> >(size), xAxisUnit,
4 : DataSeries{std::make_shared<ArrayData<1> >(size), std::move(xAxisUnit),
5 std::make_shared<ArrayData<1> >(size), valuesUnit}
5 std::make_shared<ArrayData<1> >(size), std::move(valuesUnit)}
6 {
6 {
7 }
7 }
8
8
@@ -19,7 +19,7 CosinusProvider::retrieveData(const DataProviderParameters &parameters) const
19
19
20 // Generates scalar series containing cosinus values (one value per second)
20 // Generates scalar series containing cosinus values (one value per second)
21 auto scalarSeries
21 auto scalarSeries
22 = std::make_unique<ScalarSeries>(end - start, QStringLiteral("t"), QStringLiteral(""));
22 = std::make_unique<ScalarSeries>(end - start, Unit{QStringLiteral("t"), true}, Unit{});
23
23
24 auto dataIndex = 0;
24 auto dataIndex = 0;
25 for (auto time = start; time < end; ++time, ++dataIndex) {
25 for (auto time = start; time < end; ++time, ++dataIndex) {
General Comments 0
You need to be logged in to leave comments. Login now