@@ -0,0 +1,90 | |||
|
1 | #include "DataSeriesBuilders.h" | |
|
2 | ||
|
3 | #include <Data/ScalarSeries.h> | |
|
4 | #include <Data/SpectrogramSeries.h> | |
|
5 | #include <Data/VectorSeries.h> | |
|
6 | #include <Data/Unit.h> | |
|
7 | ||
|
8 | // ///////////// // | |
|
9 | // ScalarBuilder // | |
|
10 | // ///////////// // | |
|
11 | ||
|
12 | ScalarBuilder &ScalarBuilder::setX(std::vector<double> xData) | |
|
13 | { | |
|
14 | m_XAxisData = std::move(xData); | |
|
15 | return *this; | |
|
16 | } | |
|
17 | ||
|
18 | ScalarBuilder &ScalarBuilder::setValues(std::vector<double> valuesData) | |
|
19 | { | |
|
20 | m_ValuesData =std::move(valuesData); | |
|
21 | return *this; | |
|
22 | } | |
|
23 | ||
|
24 | std::shared_ptr<ScalarSeries> ScalarBuilder::build() | |
|
25 | { | |
|
26 | return std::make_shared<ScalarSeries>(std::move(m_XAxisData), std::move(m_ValuesData), Unit{}, | |
|
27 | Unit{}); | |
|
28 | } | |
|
29 | ||
|
30 | // ////////////////// // | |
|
31 | // SpectrogramBuilder // | |
|
32 | // ////////////////// // | |
|
33 | ||
|
34 | SpectrogramBuilder &SpectrogramBuilder::setX(std::vector<double> xData) | |
|
35 | { | |
|
36 | m_XAxisData = std::move(xData); | |
|
37 | return *this; | |
|
38 | } | |
|
39 | ||
|
40 | SpectrogramBuilder &SpectrogramBuilder::setY(std::vector<double> yData) | |
|
41 | { | |
|
42 | m_YAxisData =std::move(yData); | |
|
43 | return *this; | |
|
44 | } | |
|
45 | ||
|
46 | SpectrogramBuilder &SpectrogramBuilder::setValues(std::vector<double> valuesData) | |
|
47 | { | |
|
48 | m_ValuesData =std::move(valuesData); | |
|
49 | return *this; | |
|
50 | } | |
|
51 | ||
|
52 | std::shared_ptr<SpectrogramSeries> SpectrogramBuilder::build() | |
|
53 | { | |
|
54 | return std::make_shared<SpectrogramSeries>(std::move(m_XAxisData), std::move(m_YAxisData), std::move(m_ValuesData), Unit{}, | |
|
55 | Unit{}, Unit{}); | |
|
56 | } | |
|
57 | ||
|
58 | // ///////////// // | |
|
59 | // VectorBuilder // | |
|
60 | // ///////////// // | |
|
61 | ||
|
62 | VectorBuilder &VectorBuilder::setX(std::vector<double> xData) | |
|
63 | { | |
|
64 | m_XAxisData = std::move(xData); | |
|
65 | return *this; | |
|
66 | } | |
|
67 | ||
|
68 | VectorBuilder &VectorBuilder::setXValues(std::vector<double> xValuesData) | |
|
69 | { | |
|
70 | m_XValuesData =std::move(xValuesData); | |
|
71 | return *this; | |
|
72 | } | |
|
73 | ||
|
74 | VectorBuilder &VectorBuilder::setYValues(std::vector<double> yValuesData) | |
|
75 | { | |
|
76 | m_YValuesData =std::move(yValuesData); | |
|
77 | return *this; | |
|
78 | } | |
|
79 | ||
|
80 | VectorBuilder &VectorBuilder::setZValues(std::vector<double> zValuesData) | |
|
81 | { | |
|
82 | m_ZValuesData =std::move(zValuesData); | |
|
83 | return *this; | |
|
84 | } | |
|
85 | ||
|
86 | std::shared_ptr<VectorSeries> VectorBuilder::build() | |
|
87 | { | |
|
88 | return std::make_shared<VectorSeries>(std::move(m_XAxisData), std::move(m_XValuesData), std::move(m_YValuesData), std::move(m_ZValuesData), Unit{}, | |
|
89 | Unit{}); | |
|
90 | } |
@@ -0,0 +1,74 | |||
|
1 | #ifndef SCIQLOP_DATASERIESBUILDERS_H | |
|
2 | #define SCIQLOP_DATASERIESBUILDERS_H | |
|
3 | ||
|
4 | #include <memory> | |
|
5 | #include <vector> | |
|
6 | ||
|
7 | class ScalarSeries; | |
|
8 | class SpectrogramSeries; | |
|
9 | class VectorSeries; | |
|
10 | ||
|
11 | /** | |
|
12 | * @brief The ScalarBuilder class aims to facilitate the creation of a ScalarSeries for unit tests | |
|
13 | * @sa ScalarSeries | |
|
14 | */ | |
|
15 | class ScalarBuilder { | |
|
16 | public: | |
|
17 | /// Sets x-axis data of the series | |
|
18 | ScalarBuilder & setX(std::vector<double> xData); | |
|
19 | /// Sets values data of the series | |
|
20 | ScalarBuilder & setValues(std::vector<double> valuesData); | |
|
21 | /// Creates the series | |
|
22 | std::shared_ptr<ScalarSeries> build(); | |
|
23 | ||
|
24 | private: | |
|
25 | std::vector<double> m_XAxisData{}; | |
|
26 | std::vector<double> m_ValuesData{}; | |
|
27 | }; | |
|
28 | ||
|
29 | /** | |
|
30 | * @brief The SpectrogramBuilder class aims to facilitate the creation of a SpectrogramSeries for unit tests | |
|
31 | * @sa SpectrogramSeries | |
|
32 | */ | |
|
33 | class SpectrogramBuilder { | |
|
34 | public: | |
|
35 | /// Sets x-axis data of the series | |
|
36 | SpectrogramBuilder & setX(std::vector<double> xData); | |
|
37 | /// Sets y-axis data of the series | |
|
38 | SpectrogramBuilder & setY(std::vector<double> yData); | |
|
39 | /// Sets values data of the series | |
|
40 | SpectrogramBuilder & setValues(std::vector<double> valuesData); | |
|
41 | /// Creates the series | |
|
42 | std::shared_ptr<SpectrogramSeries> build(); | |
|
43 | ||
|
44 | private: | |
|
45 | std::vector<double> m_XAxisData{}; | |
|
46 | std::vector<double> m_YAxisData{}; | |
|
47 | std::vector<double> m_ValuesData{}; | |
|
48 | }; | |
|
49 | ||
|
50 | /** | |
|
51 | * @brief The VectorBuilder class aims to facilitate the creation of a VectorSeries for unit tests | |
|
52 | * @sa VectorSeries | |
|
53 | */ | |
|
54 | class VectorBuilder { | |
|
55 | public: | |
|
56 | /// Sets x-axis data of the series | |
|
57 | VectorBuilder & setX(std::vector<double> xData); | |
|
58 | /// Sets x-values data of the series | |
|
59 | VectorBuilder & setXValues(std::vector<double> xValuesData); | |
|
60 | /// Sets y-values data of the series | |
|
61 | VectorBuilder & setYValues(std::vector<double> yValuesData); | |
|
62 | /// Sets z-values data of the series | |
|
63 | VectorBuilder & setZValues(std::vector<double> zValuesData); | |
|
64 | /// Creates the series | |
|
65 | std::shared_ptr<VectorSeries> build(); | |
|
66 | ||
|
67 | private: | |
|
68 | std::vector<double> m_XAxisData{}; | |
|
69 | std::vector<double> m_XValuesData{}; | |
|
70 | std::vector<double> m_YValuesData{}; | |
|
71 | std::vector<double> m_ZValuesData{}; | |
|
72 | }; | |
|
73 | ||
|
74 | #endif // SCIQLOP_DATASERIESBUILDERS_H |
General Comments 0
You need to be logged in to leave comments.
Login now