casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FeatherPlotWidgetScatter.h
Go to the documentation of this file.
1 //# Copyright (C) 2005
2 //# Associated Universities, Inc. Washington DC, USA.
3 //#
4 //# This library is free software; you can redistribute it and/or modify it
5 //# under the terms of the GNU Library General Public License as published by
6 //# the Free Software Foundation; either version 2 of the License, or (at your
7 //# option) any later version.
8 //#
9 //# This library is distributed in the hope that it will be useful, but WITHOUT
10 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 //# License for more details.
13 //#
14 //# You should have received a copy of the GNU Library General Public License
15 //# along with this library; if not, write to the Free Software Foundation,
16 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
17 //#
18 //# Correspondence concerning AIPS++ should be addressed as follows:
19 //# Internet email: aips2-request@nrao.edu.
20 //# Postal address: AIPS++ Project Office
21 //# National Radio Astronomy Observatory
22 //# 520 Edgemont Road
23 //# Charlottesville, VA 22903-2475 USA
24 //#
25 
26 #ifndef FEATHERPLOTWIDGETSCATTER_H_
27 #define FEATHERPLOTWIDGETSCATTER_H_
28 
30 
31 namespace casa {
32 
38 public:
39  FeatherPlotWidgetScatter(const QString& title, FeatherPlot::PlotType plotType, QWidget *parent = 0);
40  virtual void setScatterCurves( const QString& title, CurveType xScatter, const QList<CurveType>& yScatters );
41  virtual ~FeatherPlotWidgetScatter();
42 protected:
43  virtual void resetColors();
44  virtual void addZoomNeutralCurves();
45 
46  virtual void zoomRectangleOther( double minX, double maxX, double minY, double maxY );
47  virtual void zoom90Other( double dishPosition );
48 private:
50  QList<CurveType> yScatters;
51  bool isOverlap( double minX, double maxX, double minY, double maxY ) const;
53  void addScatterCurve( const QVector<double>& xVals, const QVector<double>& yVals,
54  double dataLimit, FeatherCurveType::CurveType curveType, bool sumCurve );
55  QVector<double> scaleValues( const QVector<double>& values ) const;
56  QVector<double> unscaleValues( const QVector<double>& values ) const;
57  pair<QVector<double>, QVector<double> > restrictData( const QVector<double>& sourceX,
58  const QVector<double>& sourceY, double valueMinX, double valueMaxX );
59  pair<QVector<double>, QVector<double> > restrictData( const QVector<double>& sourceX,
60  const QVector<double>& sourceY, double valueMinX, double valueMaxX,
61  double valueMinY, double valueMaxY);
62 };
63 
64 } /* namespace casa */
65 #endif /* FEATHERPLOTWIDGETSCATTER_H_ */
QVector< double > scaleValues(const QVector< double > &values) const
QVector< double > unscaleValues(const QVector< double > &values) const
void addScatterCurve(const QVector< double > &xVals, const QVector< double > &yVals, double dataLimit, FeatherCurveType::CurveType curveType, bool sumCurve)
virtual void zoomRectangleOther(double minX, double maxX, double minY, double maxY)
virtual void setScatterCurves(const QString &title, CurveType xScatter, const QList< CurveType > &yScatters)
virtual void addZoomNeutralCurves()
pair< QVector< double >, QVector< double > > restrictData(const QVector< double > &sourceX, const QVector< double > &sourceY, double valueMinX, double valueMaxX)
bool isOverlap(double minX, double maxX, double minY, double maxY) const
virtual void zoom90Other(double dishPosition)
FeatherPlotWidgetScatter(const QString &title, FeatherPlot::PlotType plotType, QWidget *parent=0)
A specialization of FeatherPlotWidget for scatter plots.
QVector< double > populateVector(FeatherCurveType::CurveType curveType)
CurveType
Note: Order in this listing is important.