@@ -121,9 +121,62 private: | |||||
121 | /** |
|
121 | /** | |
122 | * @brief The DataSeries class is the base (abstract) implementation of IDataSeries. |
|
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 | * @tparam Dim The dimension of the values data |
|
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