00001
00002
00014 #ifndef _BinToColor_H_
00015 #define _BinToColor_H_
00016
00017 #include "axes/Range.h"
00018 #include "graphics/Color.h"
00019
00020 namespace hippodraw {
00021
00030 class MDL_HIPPOPLOT_API BinToColor
00031 {
00032
00033 protected:
00034
00036 std::string m_name;
00037
00046 std::vector < double > m_control_points;
00047
00050 double m_dv;
00051
00054 double m_vmin;
00055
00058 BinToColor ( const char * name );
00059
00062 BinToColor ( const std::string &);
00063
00064 public:
00065
00067 BinToColor ( const BinToColor & bin_to_color );
00068
00070 virtual ~BinToColor();
00071
00073 virtual BinToColor * clone () const = 0;
00074
00077 const std::string & name () const;
00078
00080 void setRange( const Range & r );
00081
00084 Range getRange () const;
00085
00089 virtual void doubleToColor ( double value, Color & color ) const = 0;
00090
00095 virtual bool hasControlPoints () const;
00096
00102 const std::vector < double > & getControlPoints () const;
00103
00107 virtual void setControlPoints ( const std::vector < double > & points );
00108
00114 virtual bool isUserDefined () const;
00115
00121 virtual bool acceptChangeColor () const;
00122
00123 };
00124
00125 }
00126
00127 #endif // _BinToColor_H_