ScatterDraw: constants and functions list are public

git-svn-id: svn://ultimatepp.org/upp/trunk@9357 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
koldo 2015-12-27 19:53:11 +00:00
parent 556a577f54
commit 5f47d24331
2 changed files with 8 additions and 4 deletions

View file

@ -122,13 +122,15 @@ String FourierEquation::GetEquation(int numDigits) {
return ret;
}
static double degToRad(double deg) {return M_PI/180.;}
EvalExpr::EvalExpr() {
noCase = false;
constants.Add("PI", M_PI);
constants.Add("M_PI", M_PI);
constants.Add("e", exp(1.0));
constants.Add("e", M_E);
functions.Add("abs", fabs);
functions.Add("ceil", ceil);
functions.Add("floor", floor);
@ -142,6 +144,7 @@ EvalExpr::EvalExpr() {
functions.Add("sinh", sinh);
functions.Add("cosh", cosh);
functions.Add("tanh", tanh);
functions.Add("degToRad", degToRad);
}
double EvalExpr::Term(CParser& p) {

View file

@ -234,6 +234,9 @@ public:
void GetVariable(int id, String &name, double &value) {name = variables.GetKey(id); value = variables[id];}
int GetVariablesCount() {return variables.GetCount();}
VectorMap<String, double> constants;
VectorMap<String, double (*)(double)> functions;
private:
void *Functions_Get(CParser& p);
double Term(CParser& p);
@ -245,10 +248,8 @@ private:
String MulStr(CParser& p, int numDigits);
String ExpStr(CParser& p, int numDigits);
bool noCase;
VectorMap<String, double> constants;
VectorMap<String, double> variables;
VectorMap<String, double (*)(double)> functions;
};
class UserEquation : public ExplicitEquation {