Isis Developer Reference
PlotCurve.h
Go to the documentation of this file.
1 #ifndef PlotCurve_h
2 #define PlotCurve_h
3 
26 #include <qwt_plot.h>
27 #include <qwt_plot_curve.h>
28 #include <qwt_plot_marker.h>
29 #include <qwt_symbol.h>
30 #include <qwt_plot_marker.h>
31 
32 namespace Isis {
44  class PlotCurve : public QwtPlotCurve {
45 
46  public:
54  enum Units {
93  };
94 
96  ~PlotCurve();
97 
98  void attachMarkers();
99 
100  QColor color() const;
101  QwtSymbol *markerSymbol() const;
102  Units xUnits() const;
103  Units yUnits() const;
104 
105  void setColor(const QColor &color);
106  void setData(QwtSeriesData<QPointF> *data);
107  void setPen(const QPen &pen);
108  void setMarkerSymbol(QwtSymbol::Style style);
109  void setMarkerVisible(bool visible);
110 
111  protected:
112  QByteArray fromByteArray(const QByteArray &classData);
113  QByteArray toByteArray() const;
114 
115  private:
116  PlotCurve(const PlotCurve &other);
117  PlotCurve &operator=(const PlotCurve &other);
118 
119  void clearMarkers();
120  void recreateMarkers();
121 
122  private:
123  QColor m_color;
124  QwtSymbol *m_markerSymbol;
125  QList<QwtPlotMarker *> m_valuePointMarkers;
126  Units m_xUnits;
127  Units m_yUnits;
128  };
129 };
130 #endif
Isis::PlotCurve::CubeDN
@ CubeDN
The data is a Cube DN value.
Definition: PlotCurve.h:67
QList< QwtPlotMarker * >
Isis::PlotCurve::PixelNumber
@ PixelNumber
The data is a pixel #.
Definition: PlotCurve.h:79
Isis::PlotCurve::~PlotCurve
~PlotCurve()
Definition: PlotCurve.cpp:32
Isis::PlotCurve::setMarkerVisible
void setMarkerVisible(bool visible)
This method sets the visibility states of the markers at each value point.
Definition: PlotCurve.cpp:131
SpecialPixel.h
Isis::PlotCurve::yUnits
Units yUnits() const
Get the units of the y-axis double data.
Definition: PlotCurve.cpp:86
Isis::PlotCurve::setPen
void setPen(const QPen &pen)
Sets the plot pen to the passed-in pen.
Definition: PlotCurve.cpp:340
Isis::PlotCurve
Definition: PlotCurve.h:44
Isis::PlotCurve::Meters
@ Meters
The data is in meters.
Definition: PlotCurve.h:83
Isis::PlotCurve::Units
Units
These are all the possible units for the x or y data in a plot curve.
Definition: PlotCurve.h:54
Isis::PlotCurve::Kilometers
@ Kilometers
The data is in kilometers.
Definition: PlotCurve.h:87
Isis::PlotCurve::PlotCurve
PlotCurve(Units xUnits, Units yUnits)
Constructs and instance of a PlotCurve with some default properties.
Definition: PlotCurve.cpp:22
Isis::PlotCurve::setData
void setData(QwtSeriesData< QPointF > *data)
This method sets the data for the curve, then sets the value for the markers associated with the curv...
Definition: PlotCurve.cpp:109
Isis::ReadWrite
const int ReadWrite
Definition: Process.h:24
Isis::PlotCurve::Band
@ Band
The data is a band number.
Definition: PlotCurve.h:63
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
PlotCurve.h
Isis::PlotCurve::Percentage
@ Percentage
The data is a percentage (0-100).
Definition: PlotCurve.h:75
Isis::PlotCurve::Unknown
@ Unknown
The data units are not yet known.
Definition: PlotCurve.h:59
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::PlotCurve::Wavelength
@ Wavelength
The data is a wavelength.
Definition: PlotCurve.h:92
ASSERT
#define ASSERT(x)
Definition: IsisDebug.h:134
Isis::PlotCurve::Elevation
@ Elevation
The data is an elevation (in meters).
Definition: PlotCurve.h:71
Isis::PlotCurve::setColor
void setColor(const QColor &color)
Set the color of this curve and it's markers.
Definition: PlotCurve.cpp:97
Isis::PlotCurve::toByteArray
QByteArray toByteArray() const
Definition: PlotCurve.cpp:262
Isis::PlotCurve::xUnits
Units xUnits() const
Get the units of the x-axis double data.
Definition: PlotCurve.cpp:76
QwtPlotCurve
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::PlotCurve::fromByteArray
QByteArray fromByteArray(const QByteArray &classData)
Construct the plot curve given the past results of toByteArray(...).
Definition: PlotCurve.cpp:145
Isis::PlotCurve::attachMarkers
void attachMarkers()
After attaching this curve to a plot, due to an inheritance/implementation complication with qwt the ...
Definition: PlotCurve.cpp:46
Isis::PlotCurve::markerSymbol
QwtSymbol * markerSymbol() const
This method returns the shape of the markers.
Definition: PlotCurve.cpp:66
Isis::PlotCurve::setMarkerSymbol
void setMarkerSymbol(QwtSymbol::Style style)
This method sets the shape of the markers.
Definition: PlotCurve.cpp:120
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
QVector
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
IsisDebug.h
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::PlotCurve::color
QColor color() const
This method returns the color of the curve.
Definition: PlotCurve.cpp:56