summaryrefslogtreecommitdiff
path: root/openscad.h
diff options
context:
space:
mode:
Diffstat (limited to 'openscad.h')
-rw-r--r--openscad.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/openscad.h b/openscad.h
index a241a96..d37f6ac 100644
--- a/openscad.h
+++ b/openscad.h
@@ -245,13 +245,20 @@ class Context
public:
const Context *parent;
QHash<QString, Value> variables;
+ QHash<QString, Value> config_variables;
const QHash<QString, AbstractFunction*> *functions_p;
const QHash<QString, AbstractModule*> *modules_p;
- Context(const Context *parent = NULL) : parent(parent) { }
+ static QVector<const Context*> ctx_stack;
+
+ Context(const Context *parent = NULL);
+ ~Context();
+
void args(const QVector<QString> &argnames, const QVector<Expression*> &argexpr, const QVector<QString> &call_argnames, const QVector<Value> &call_argvalues);
+ void set_variable(QString name, Value value);
Value lookup_variable(QString name) const;
+
Value evaluate_function(QString name, const QVector<QString> &argnames, const QVector<Value> &argvalues) const;
AbstractNode *evaluate_module(QString name, const QVector<QString> &argnames, const QVector<Value> &argvalues, const QVector<AbstractNode*> child_nodes) const;
};
contact: Jan Huwald // Impressum