@@ -121,9 +121,62 private: | |||
|
121 | 121 | /** |
|
122 | 122 | * @brief The DataSeries class is the base (abstract) implementation of IDataSeries. |
|
123 | 123 | * |
|
124 | * It proposes to set a dimension for the values data. | |
|
124 | * The DataSeries represents values on one or two axes, according to these rules: | |
|
125 | * - the x-axis is always defined | |
|
126 | * - an y-axis can be defined or not. If set, additional consistency checks apply to the values (see | |
|
127 | * below) | |
|
128 | * - the values are defined on one or two dimensions. In the case of 2-dim values, the data is | |
|
129 | * distributed into components (for example, a vector defines three components) | |
|
130 | * - New values can be added to the series, on the x-axis. | |
|
131 | * - Once initialized to the series creation, the y-axis (if defined) is no longer modifiable | |
|
132 | * - Data representing values and axes are associated with a unit | |
|
133 | * - The data series is always sorted in ascending order on the x-axis. | |
|
125 | 134 | * |
|
126 | * A DataSeries is always sorted on its x-axis data. | |
|
135 | * Consistency checks are carried out between the axes and the values. These controls are provided | |
|
136 | * throughout the DataSeries lifecycle: | |
|
137 | * - the number of data on the x-axis must be equal to the number of values (in the case of | |
|
138 | * 2-dim ArrayData for values, the test is performed on the number of values per component) | |
|
139 | * - if the y-axis is defined, the number of components of the ArrayData for values must equal the | |
|
140 | * number of data on the y-axis. | |
|
141 | * | |
|
142 | * Examples: | |
|
143 | * 1) | |
|
144 | * - x-axis: [1 ; 2 ; 3] | |
|
145 | * - y-axis: not defined | |
|
146 | * - values: [10 ; 20 ; 30] (1-dim ArrayData) | |
|
147 | * => the DataSeries is valid, as x-axis and values have the same number of data | |
|
148 | * | |
|
149 | * 2) | |
|
150 | * - x-axis: [1 ; 2 ; 3] | |
|
151 | * - y-axis: not defined | |
|
152 | * - values: [10 ; 20 ; 30 ; 40] (1-dim ArrayData) | |
|
153 | * => the DataSeries is invalid, as x-axis and values haven't the same number of data | |
|
154 | * | |
|
155 | * 3) | |
|
156 | * - x-axis: [1 ; 2 ; 3] | |
|
157 | * - y-axis: not defined | |
|
158 | * - values: [10 ; 20 ; 30 | |
|
159 | * 40 ; 50 ; 60] (2-dim ArrayData) | |
|
160 | * => the DataSeries is valid, as x-axis has 3 data and values contains 2 components with 3 | |
|
161 | * data each | |
|
162 | * | |
|
163 | * 4) | |
|
164 | * - x-axis: [1 ; 2 ; 3] | |
|
165 | * - y-axis: [1 ; 2] | |
|
166 | * - values: [10 ; 20 ; 30 | |
|
167 | * 40 ; 50 ; 60] (2-dim ArrayData) | |
|
168 | * => the DataSeries is valid, as: | |
|
169 | * - x-axis has 3 data and values contains 2 components with 3 data each AND | |
|
170 | * - y-axis has 2 data and values contains 2 components | |
|
171 | * | |
|
172 | * 5) | |
|
173 | * - x-axis: [1 ; 2 ; 3] | |
|
174 | * - y-axis: [1 ; 2 ; 3] | |
|
175 | * - values: [10 ; 20 ; 30 | |
|
176 | * 40 ; 50 ; 60] (2-dim ArrayData) | |
|
177 | * => the DataSeries is invalid, as: | |
|
178 | * - x-axis has 3 data and values contains 2 components with 3 data each BUT | |
|
179 | * - y-axis has 3 data and values contains only 2 components | |
|
127 | 180 | * |
|
128 | 181 | * @tparam Dim The dimension of the values data |
|
129 | 182 | * |
General Comments 0
You need to be logged in to leave comments.
Login now