00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "IndicatorPlugin.h"
00023 #include "qtsFFT.h"
00024
00025 class LOWPASS : public IndicatorPlugin
00026 {
00027 public:
00028 LOWPASS ();
00029 virtual ~LOWPASS ();
00030 Indicator * calculate ();
00031 PlotLine * getLowpass (PlotLine *in, double fre, double wid);
00032 int indicatorPrefDialog (QWidget *);
00033 void setDefaults();
00034 PlotLine * calculateCustom (QString &, QPtrList<PlotLine> &);
00035 void getIndicatorSettings (Setting &);
00036 void setIndicatorSettings (Setting &);
00037 void formatDialog (QStringList &vl, QString &rv, QString &rs);
00038
00039 private:
00040 QColor color;
00041 PlotLine::LineType lineType;
00042 QString label;
00043 double freq;
00044 double width;
00045 BarData::InputType input;
00046 qtsFFT * fft;
00047 void detrend(PlotLine* inLine, double* slope, double* intercept);
00048 PlotLine * detrend(PlotLine *x, double &slope, double &intercept, bool detrend = true);
00049 PlotLine * raise2Power(PlotLine *x, double pad = 0.0);
00050
00051 QString colorLabel;
00052 QString lineTypeLabel;
00053 QString labelLabel;
00054 QString inputLabel;
00055 QString pluginLabel;
00056 QString freqLabel;
00057 QString widthLabel;
00058 };
00059