Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef CURVEREADER_H
00028 #define CURVEREADER_H
00029
00030 #include <QGpCoreTools.h>
00031
00032 class CurveReader : public ArgumentStdinReader
00033 {
00034 TRANSLATIONS("ArgumentStdinReader")
00035 public:
00036 CurveReader();
00037
00038 bool setOptions(int& argc, char ** argv);
00039 bool isFunctionMode() const {return _mode==ParseFunction;}
00040 void generateFunction() const;
00041 bool terminate();
00042 protected:
00043 virtual bool parse(QTextStream& s);
00044 private:
00045 bool exec(Curve<PointND>& curve);
00046 bool loadReference();
00047
00048 enum Mode {None, Resample, ResampleExtrapole, Cut, CutInterpole, Swap, Regression, FunctionValue, MaxIndex, MaxValue,
00049 Misfit, MergeReplace, MergeInterpolate, ParseFunction, Derivative, Multiply, Log, Power, MinMax};
00050 Mode _mode;
00051 int _nResample;
00052 double _minX;
00053 double _maxX;
00054 double _dx;
00055 double _xValue;
00056 int _columnIndex;
00057 SamplingOption _samplingType;
00058 QString _referenceFile;
00059 Curve<PointND> _referenceCurve;
00060 MisfitType _misfitType;
00061 double _misfitMin;
00062 int _misfitDof;
00063 QString _functionText;
00064 double _logBase;
00065 double _multiplyFactor;
00066 Curve<PointND> _minCurve, _maxCurve;
00067 };
00068
00069 #endif // CURVEREADER_H