Commit 5a638eb119cb5cf42e988c7c25f0caacd63caf32

Authored by Menouard AZIB
1 parent d9c8118b

Adding comments

src/ParamOutputImpl/Plot/InstantPlot/PlotFunction.cc
... ... @@ -78,7 +78,7 @@ namespace plot
78 78 drawLines(
79 79 pSerie.getLineProperties().getType(),
80 80 pSerie.getLineProperties().getStyle(),
81   - pSerie.getLineProperties().getWidth() + 1,
  81 + pSerie.getLineProperties().getWidth(),
82 82 lineColor,
83 83 nbValues, xValuesTemp, yValuesTemp, coloredComputedValues);
84 84 }
... ... @@ -135,8 +135,8 @@ namespace plot
135 135 void PlotFunction::createYAxis()
136 136 {
137 137 std::string y_label = "";
138   - if (function == PlotFunction::Function::SUM)
139   - y_label = "Sum";
  138 + if (function == PlotFunction::Function::AVG)
  139 + y_label = "AVG";
140 140 else
141 141 y_label = "Amplitude";
142 142  
... ... @@ -144,11 +144,9 @@ namespace plot
144 144 double maxValue = 0;
145 145  
146 146 PlotFunction::getMinMax(yValuesMap, &minValue, &maxValue);
147   - LOG4CXX_DEBUG(gLogger, "Min value " << minValue << " "
148   - << "Max Value" << maxValue);
149 147 // Create X axis
150 148 boost::shared_ptr<Axis> lYAxis(new Axis(false));
151   - plot::Range range_x = Range(minValue - minValue * 0.1, maxValue + maxValue * 0.1);
  149 + plot::Range range_x = Range(minValue - abs(minValue) * 0.10, maxValue + abs(maxValue) * 0.1);
152 150 lYAxis.get()->setRange(range_x);
153 151 lYAxis.get()->_drawn = false;
154 152 lYAxis.get()->_position = PlotCommon::Position::POS_LEFT;
... ... @@ -216,12 +214,12 @@ namespace plot
216 214 std::vector<double> xValues;
217 215 std::vector<double> yValues;
218 216  
219   - if (function == PlotFunction::Function::SUM)
  217 + if (function == PlotFunction::Function::AVG)
220 218 {
221 219 double sum = std::accumulate(signal.begin(), signal.end(), 0);
222 220 for (int i = 0; i < data.getSize(); i++)
223 221 {
224   - yValues.push_back(sum);
  222 + yValues.push_back(sum / data.getSize());
225 223 xValues.push_back(timeValues[i]);
226 224 }
227 225 }
... ...
src/ParamOutputImpl/Plot/InstantPlot/PlotFunction.hh
... ... @@ -28,7 +28,15 @@ extern &quot;C&quot;
28 28 #include <plplot/qsastime.h>
29 29 }
30 30  
  31 +/**
  32 + * @brief Id pour l'axe X qui sera crée
  33 + *
  34 + */
31 35 #define X_AXIS_ID "x_axis_id"
  36 +/**
  37 + * @brief Id pour l'axe Y qui sera crée
  38 + *
  39 + */
32 40 #define Y_AXIS_ID ""
33 41  
34 42 namespace plot
... ... @@ -37,9 +45,14 @@ namespace plot
37 45 class PlotFunction : public PanelPlotOutput
38 46 {
39 47 public:
  48 + /**
  49 + * @brief enum to represent the type of fucntion to apply for plotfunction feature
  50 + *
  51 + */
40 52 enum Function
41 53 {
42 54 NONE,
  55 + AVG,
43 56 FFT,
44 57 SUM
45 58 };
... ... @@ -135,23 +148,79 @@ namespace plot
135 148 virtual bool draw(double startTime, double stopTime, int intervalIndex,
136 149 bool isFirstInterval, bool isLastInterval);
137 150  
138   - // virtual void drawFills(double startDate, double stopDate);
139   -
140 151 private:
141 152 void configureSeriesAxis();
142 153 void configureAxisLegend();
  154 + /**
  155 + * @brief Afficher sur le plot the starting date
  156 + *
  157 + * @param _timeFormat le format
  158 + * @param startTime le start time envoyé depuis le l'ihm
  159 + * @param stopTime le stop time envoyé depuis le l'ihm
  160 + */
143 161 void drawStartDate(std::string _timeFormat, double startTime, double stopTime);
  162 + /**
  163 + * @brief Créer un axe Y pour accueillir les valeurs calculées de l'axe Y
  164 + *
  165 + */
144 166 void createYAxis();
  167 + /**
  168 + * @brief Créer un axe X pour accueillir les valeurs calculées de l'axe X
  169 + *
  170 + */
145 171 void createXAxis();
  172 + /**
  173 + * @brief Get the Min Max de xValuesMap et yValuesMap
  174 + *
  175 + * @param minToFill la variable qui store la valeur minimale
  176 + * @param maxToFill la variable qui store la valeur maximale
  177 + */
146 178 void getMinMax(std::map<std::string, std::vector<double>>, double *minToFill, double *maxToFill);
147   - void compute(AMDA::Common::ParameterIndexComponent pParamIndex, plot::ParameterData data, std::string id, std::string param_id);
  179 + /**
  180 + * @brief Appliquer le plotfunction soit FFT, SUM, ou AVG pour chaque pseudo-paramètre
  181 + *
  182 + * @param pParamIndex index of pseudo paramètre
  183 + * @param ParameterData qui contient toute les données des paramètres
  184 + * @param id id pseudo param
  185 + * @param param_id id du paramètre
  186 + */
  187 + void compute(AMDA::Common::ParameterIndexComponent pParamIndex, plot::ParameterData data, std::string id, std::string param_id);
148 188  
  189 + /**
  190 + * @brief Une map pour stocker les valeurs calculées de l'axe X associés aux pseudo paramètres crées localement
  191 + *
  192 + */
149 193 std::map<std::string, std::vector<double>> xValuesMap;
  194 + /**
  195 + * @brief Une map pour stocker les valeurs calculées de l'axe Y associés aux pseudo paramètres crées localement
  196 + *
  197 + */
150 198 std::map<std::string, std::vector<double>> yValuesMap;
  199 + /**
  200 + * @brief Type de function envoyée par l'IHM
  201 + * @see Function
  202 + */
151 203 Function function;
  204 + /**
  205 + * @brief Un vecteur qui associe l'id du vrai paramètre et le nb points choisi par l'ihm pour appliquer FFT
  206 + *
  207 + */
152 208 std::vector<std::string> paramsNbPoints;
  209 + /**
  210 + * @brief Type d'abscisse en cas de FFT
  211 + * @see Abscisse
  212 + *
  213 + */
153 214 Abscisse abscisse;
  215 + /**
  216 + * @brief Scale of abscisse
  217 + *
  218 + */
154 219 Axis::Scale abscisseScale;
  220 + /**
  221 + * @brief Scale for ordonnée
  222 + *
  223 + */
155 224 Axis::Scale ordonneeScale;
156 225 std::shared_ptr<TimeAxisDecorator> _xdecoratorPtr;
157 226 };
... ...
src/ParamOutputImpl/Plot/InstantPlot/PlotFunctionNode.cc
... ... @@ -63,8 +63,8 @@ namespace plot
63 63 if (value)
64 64 {
65 65 const char *valueString = (const char *)value;
66   - if (strcmp(valueString, PlotFunctuion_Type_SUM) == 0)
67   - plot->setFunction(PlotFunction::Function::SUM);
  66 + if (strcmp(valueString, PlotFunctuion_Type_AVG) == 0)
  67 + plot->setFunction(PlotFunction::Function::AVG);
68 68 else if (strcmp(valueString, PlotFunctuion_Type_FFT) == 0)
69 69 plot->setFunction(PlotFunction::Function::FFT);
70 70 else
... ... @@ -108,7 +108,6 @@ namespace plot
108 108 {
109 109 tokens.push_back(token);
110 110 }
111   - LOG4CXX_DEBUG(gLogger, tokens[0] << " COUCOU " << tokens[1]);
112 111 plot->setParamsNbPoints(tokens);
113 112 xmlFree(value);
114 113 }
... ... @@ -122,8 +121,6 @@ namespace plot
122 121 else if (strcmp(valueAbscisseScale, PlotFunction_Log) == 0)
123 122 plot->setAbscisseScale(Axis::Scale::LOGARITHMIC);
124 123  
125   - LOG4CXX_DEBUG(gLogger, valueAbscisseScale);
126   - LOG4CXX_DEBUG(gLogger, plot->getAbscisseScale());
127 124 xmlFree(value);
128 125 }
129 126  
... ... @@ -136,8 +133,6 @@ namespace plot
136 133  
137 134 else if (strcmp(valueOrdonneeScale, PlotFunction_Log) == 0)
138 135 plot->setOrdonneeScale(Axis::Scale::LOGARITHMIC);
139   - LOG4CXX_DEBUG(gLogger, valueOrdonneeScale);
140   - LOG4CXX_DEBUG(gLogger, plot->getOrdonneeScale());
141 136 xmlFree(value);
142 137 }
143 138 else
... ...
src/ParamOutputImpl/Plot/InstantPlot/PlotFunctionNode.hh
... ... @@ -25,6 +25,7 @@ namespace plot
25 25 #define PlotFunctuion_Type "type"
26 26 #define PlotFunctuion_Type_FFT "FFT"
27 27 #define PlotFunctuion_Type_SUM "SUM"
  28 +#define PlotFunctuion_Type_AVG "AVG"
28 29 #define PlotFunctuion_Params_Nb_Points "param_nb_points"
29 30 #define PlotFunction_Linear "Linear"
30 31 #define PlotFunction_Log "Log"
... ...