00001
00002
00014 #ifndef _QtCut_H_
00015 #define _QtCut_H_
00016
00017 #include "QtDisplay.h"
00018
00019 class Cut1DPlotter;
00020 class Cut2DPlotter;
00021
00029 class QtCut : public QtDisplay
00030 {
00031
00032 public:
00033
00035 QtCut( const DataSource & nt,
00036 const std::vector < std::string > & binding );
00037
00039 QtCut( const PyDataSource & nt,
00040 const std::vector < std::string > & binding );
00041
00046 QtCut ( const DataSource & nt,
00047 const std::vector < std::string > & binding,
00048 QtDisplay * target, double low, double high );
00049
00054 QtCut ( const PyDataSource & nt,
00055 const std::vector < std::string > & binding,
00056 QtDisplay * target, double low, double high );
00057
00060 QtCut( PlotterBase * plotter );
00061
00063 void addTarget ( QtDisplay * );
00064
00067 void addTargets ( const std::vector < QtDisplay * > & targets );
00068
00071 void setCutRange ( double low, double high,
00072 const std::string & axis = "x" );
00073
00077 std::vector<double> cutRange();
00078
00083 void setEnabled ( bool yes );
00084
00087 void toggleInverted ();
00088
00089 private:
00090
00093 void createCut ( const DataSource & ds,
00094 const std::vector < std::string > & binding );
00095
00096 };
00097
00098 #endif // _QtCut_H_