00001
00002
00013 #ifndef _BinnerAxisLinear_H_
00014 #define _BinnerAxisLinear_H_
00015
00016 #ifdef _MSC_VER
00017 #include "msdevstudio/MSconfig.h"
00018 #endif
00019
00020 #include "BinnerAxis.h"
00021
00022 namespace hippodraw {
00023
00030 class MDL_HIPPOPLOT_API BinnerAxisLinear : public BinnerAxis
00031 {
00032
00033 protected:
00034
00036 BinnerAxisLinear ( const BinnerAxisLinear & binner );
00037
00038 virtual double calcWidthParm ( int number ) const;
00039
00040 public:
00041
00043 BinnerAxisLinear ();
00044
00046 virtual ~BinnerAxisLinear();
00047
00050 BinnerAxis * clone();
00051
00055 virtual bool hasEqualWidths () const;
00056
00058 virtual void axisSetNumberOfBins( int nb );
00059
00062 virtual int axisBinNumber(double x) const;
00063
00067 virtual double getCoordinate ( int i ) const;
00068
00070 virtual double axisBinWidth ( int i ) const;
00071
00074 virtual const Range & setBinWidth (double width );
00075
00076 virtual double calcOffset ( int parm, bool dragging ) const;
00077
00079 virtual double getOffset () const;
00080
00082 virtual const void setOffset ( double offset );
00083
00086 virtual double scaleFactorWid ( );
00087
00088 virtual const Range & setRange ( const Range &,
00089 bool hold_width = true );
00090
00092 virtual double getConstWid ( ) const;
00093
00094 virtual double getBinWidth ( ) const;
00095
00097 virtual void setConstWid ( );
00098
00099 private:
00100
00101 virtual int getNob ( double wid ) const;
00102 virtual int getNob ( const Range & range ) const;
00103
00104 };
00105
00106 }
00107
00108 #endif // _BinnerAxisLinear_H_