00001 #ifndef __CParameter__ 00002 #define __CParameter__ 00003 00004 #include "../Basics/CCountedObject.hpp" 00005 #include "../Basics/CString.hpp" 00006 #include "../Basics/CDouble.hpp" 00007 00008 // =========================================================================== 00009 00010 using Exponent::Basics::CCountedObject; 00011 using Exponent::Basics::CString; 00012 using Exponent::Basics::CDouble; 00013 00014 // =========================================================================== 00015 00016 namespace Exponent 00017 { 00018 namespace MathTools 00019 { 00038 class CParameter : public CCountedObject 00039 { 00041 EXPONENT_CLASS_DECLARATION; 00044 // =========================================================================== 00045 00046 public: 00047 00048 // =========================================================================== 00049 00053 CParameter(); 00054 00061 CParameter(const double min, const double max, const double value); 00062 00066 virtual ~CParameter(); 00067 00068 // =========================================================================== 00069 00076 virtual void setRange(const double min, const double max); 00077 00083 virtual void getValue(CString &text) const; 00084 00090 virtual double getValue() const; 00091 00097 virtual void setValue(const double value); 00098 00105 virtual double setAndGetValue(const double value); 00106 00107 // =========================================================================== 00108 00116 static long doubleToLong(const long min, const long max, const double value); 00117 00124 static double longToDouble(const long min, const long max, const long index); 00125 00133 static double doubleToDouble(const double min, const double max, const double value); 00134 00135 // =========================================================================== 00136 00137 protected: 00138 00139 // =========================================================================== 00140 00141 double m_out; 00142 double m_min; 00143 double m_max; 00144 double m_difference; 00145 }; 00146 } 00147 } 00148 #endif // End of CParameter.hpp