20 #define sLinScaler "Linear" 21 #define sLogScaler "Logarithmic" 22 #define sExpScaler "Exponential" 23 #define sAsymptScaler "Asymptotic" 36 static Scaler*
get(
const char*);
38 void put(
char*)
const;
40 virtual bool isEmpty()
const {
return false; }
41 virtual Scaler* clone()
const = 0;
42 virtual const char* type()
const = 0;
44 virtual double scale(
double)
const = 0;
46 virtual const char*
toString()
const = 0;
47 virtual void fromString(
const char*) = 0;
59 : constant(c), factor(f) {}
60 LinScaler(
double x0,
double y0,
double x1,
double y1 );
61 void set(
double x0,
double y0,
double x1,
double y1 );
63 {
return new LinScaler(constant,factor); }
68 double scale(
double)
const;
69 double unScale(
double)
const;
71 void fromString(
const char*);
102 double scale(
double)
const;
107 {
return ten_==b.
ten_; }
126 double scale(
double)
const;
132 {
return ten_==b.
ten_; }
154 : center_(c), width_(w), linedge_(l),
factor(1)
160 double scale(
double)
const;
170 void set(double,double,double);
171 inline double center()
const {
return center_; }
172 inline double width()
const {
return width_; }
173 inline double linedge()
const {
return linedge_; }
#define mExpClass(module)
Definition: commondefs.h:160
double center() const
Definition: scaler.h:171
double unScale(double) const
virtual LinScaler * clone() const
Definition: scaler.h:62
double linedge_
Definition: scaler.h:179
ExpScaler(bool powerof10=true)
Definition: scaler.h:120
Exponential scaling, base e or ten.
Definition: scaler.h:117
double factor
Definition: scaler.h:80
virtual LogScaler * clone() const
Definition: scaler.h:99
const char * type() const
Definition: scaler.h:98
#define sLinScaler
Definition: scaler.h:20
double constant
Definition: scaler.h:79
bool operator==(const LinScaler &b) const
Definition: scaler.h:73
AsymptScaler(double c=0, double w=1, double l=0.95)
Definition: scaler.h:153
double scale(double) const
bool operator==(const ExpScaler &b) const
Definition: scaler.h:131
double width_
Definition: scaler.h:178
#define mIsEqual(x, y, eps)
Definition: commondefs.h:54
#define sAsymptScaler
Definition: scaler.h:23
const char * toString() const
bool isEmpty() const
Definition: scaler.h:83
const char * type() const
Definition: scaler.h:66
virtual ~Scaler()
Definition: scaler.h:37
virtual AsymptScaler * clone() const
Definition: scaler.h:157
#define sExpScaler
Definition: scaler.h:22
Logarithmic scaling, base e or ten.
Definition: scaler.h:93
virtual double unScale(double) const
Definition: scaler.h:45
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
double linedge() const
Definition: scaler.h:173
const char * type() const
Definition: scaler.h:156
virtual bool isEmpty() const
Definition: scaler.h:40
const char * type() const
Definition: scaler.h:122
bool operator==(const LogScaler &b) const
Definition: scaler.h:106
Scaling of floating point numbers.
Definition: scaler.h:33
#define mDefEps
Definition: commondefs.h:58
bool operator==(const AsymptScaler &b) const
Definition: scaler.h:165
double factor
Definition: scaler.h:181
double width() const
Definition: scaler.h:172
bool ten_
Definition: scaler.h:109
#define sLogScaler
Definition: scaler.h:21
bool ten_
Definition: scaler.h:134
virtual ExpScaler * clone() const
Definition: scaler.h:123
bool isEmpty(const NLAModel *mdl)
double center_
Definition: scaler.h:177
LogScaler(bool powerof10=true)
Definition: scaler.h:96
LinScaler(double c=0, double f=1)
Definition: scaler.h:58
Export_Basic const char * toString(ViewStyle)
void fromString(const char *)
Linear scaling.
Definition: scaler.h:55
Asymptotic or 'Squeeze' scaling, with a linear (main) part.
Definition: scaler.h:150