19 #include <SeExpression.h>
22 struct SimpleVar :
public SeExprScalarVarRef {
24 void eval(
const SeExprVarNode* , SeVec3d& result) { result[0] = val; }
28 class GrapherExpr :
public SeExpression {
29 const std::map<std::string, SimpleVar>& vars;
33 GrapherExpr(
const std::string&
expr,
const std::map<std::string, SimpleVar>& vars)
34 : SeExpression(
expr), vars(vars) {}
37 void setX(
double x_input) {
x.val = x_input; }
44 SeExprVarRef*
resolveVar(
const std::string& name)
const {
46 if (name ==
"x")
return &
x;
48 std::map<std::string, SimpleVar>::const_iterator i = vars.find(name);
49 if (i != vars.end())
return const_cast<SimpleVar*
>(&i->second);