FeatherPlotWidgetScatter.h
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 #ifndef FEATHERPLOTWIDGETSCATTER_H_
00027 #define FEATHERPLOTWIDGETSCATTER_H_
00028
00029 #include <guitools/Feather/FeatherPlotWidget.qo.h>
00030
00031 namespace casa {
00032
00037 class FeatherPlotWidgetScatter : public FeatherPlotWidget {
00038 public:
00039 FeatherPlotWidgetScatter(const QString& title, FeatherPlot::PlotType plotType, QWidget *parent = 0);
00040 virtual void setScatterCurves( const QString& title, CurveType xScatter, const QList<CurveType>& yScatters );
00041 virtual ~FeatherPlotWidgetScatter();
00042 protected:
00043 virtual void resetColors();
00044 virtual void addZoomNeutralCurves();
00045
00046 virtual void zoomRectangleOther( double minX, double maxX, double minY, double maxY );
00047 virtual void zoom90Other( double dishPosition );
00048 private:
00049 CurveType xScatter;
00050 QList<CurveType> yScatters;
00051 bool isOverlap( double minX, double maxX, double minY, double maxY ) const;
00052 QVector<double> populateVector(FeatherCurveType::CurveType curveType );
00053 void addScatterCurve( const QVector<double>& xVals, const QVector<double>& yVals,
00054 double dataLimit, FeatherCurveType::CurveType curveType, bool sumCurve );
00055 QVector<double> scaleValues( const QVector<double>& values ) const;
00056 QVector<double> unscaleValues( const QVector<double>& values ) const;
00057 pair<QVector<double>, QVector<double> > restrictData( const QVector<double>& sourceX,
00058 const QVector<double>& sourceY, double valueMinX, double valueMaxX );
00059 pair<QVector<double>, QVector<double> > restrictData( const QVector<double>& sourceX,
00060 const QVector<double>& sourceY, double valueMinX, double valueMaxX,
00061 double valueMinY, double valueMaxY);
00062 };
00063
00064 }
00065 #endif