@@ -12,6 +12,52 Q_DECLARE_LOGGING_CATEGORY(LOG_DataSeriesUtils) | |||||
12 | */ |
|
12 | */ | |
13 | struct SCIQLOP_CORE_EXPORT DataSeriesUtils { |
|
13 | struct SCIQLOP_CORE_EXPORT DataSeriesUtils { | |
14 | /** |
|
14 | /** | |
|
15 | * Define a meshs. | |||
|
16 | * | |||
|
17 | * A mesh is a regular grid representing cells of the same width (in x) and of the same height | |||
|
18 | * (in y). At each mesh point is associated a value. | |||
|
19 | * | |||
|
20 | * Each axis of the mesh is defined by a minimum value, a number of values is a mesh step. | |||
|
21 | * For example: if min = 1, nbValues = 5 and step = 2 => the axis of the mesh will be [1, 3, 5, | |||
|
22 | * 7, 9]. | |||
|
23 | * | |||
|
24 | * The values are defined in an array of size {nbX * nbY}. The data is stored along the X axis. | |||
|
25 | * | |||
|
26 | * For example, the mesh: | |||
|
27 | * Y = 2 [ 7 ; 8 ; 9 | |||
|
28 | * Y = 1 4 ; 5 ; 6 | |||
|
29 | * Y = 0 1 ; 2 ; 3 ] | |||
|
30 | * X = 0 X = 1 X = 2 | |||
|
31 | * | |||
|
32 | * will be represented by data [1, 2, 3, 4, 5, 6, 7, 8, 9] | |||
|
33 | */ | |||
|
34 | struct Mesh { | |||
|
35 | explicit Mesh() = default; | |||
|
36 | explicit Mesh(int nbX, double xMin, double xStep, int nbY, double yMin, double yStep) | |||
|
37 | : m_NbX{nbX}, | |||
|
38 | m_XMin{xMin}, | |||
|
39 | m_XStep{xStep}, | |||
|
40 | m_NbY{nbY}, | |||
|
41 | m_YMin{yMin}, | |||
|
42 | m_YStep{yStep}, | |||
|
43 | m_Data(nbX * nbY) | |||
|
44 | { | |||
|
45 | } | |||
|
46 | ||||
|
47 | inline bool isEmpty() const { return m_Data.size() == 0; } | |||
|
48 | inline double xMax() const { return m_XMin + (m_NbX - 1) * m_XStep; } | |||
|
49 | inline double yMax() const { return m_YMin + (m_NbY - 1) * m_YStep; } | |||
|
50 | ||||
|
51 | int m_NbX{0}; | |||
|
52 | double m_XMin{}; | |||
|
53 | double m_XStep{}; | |||
|
54 | int m_NbY{0}; | |||
|
55 | double m_YMin{}; | |||
|
56 | double m_YStep{}; | |||
|
57 | std::vector<double> m_Data{}; | |||
|
58 | }; | |||
|
59 | ||||
|
60 | /** | |||
15 | * Represents a resolution used to generate the data of a mesh on the x-axis or in Y. |
|
61 | * Represents a resolution used to generate the data of a mesh on the x-axis or in Y. | |
16 | * |
|
62 | * | |
17 | * A resolution is represented by a value and flag indicating if it's in the logarithmic scale |
|
63 | * A resolution is represented by a value and flag indicating if it's in the logarithmic scale |
General Comments 0
You need to be logged in to leave comments.
Login now