mirror of https://github.com/vitalif/openscad
Register experimental features only with ENABLE_EXPERIMENTAL defined (fixes #687).
parent
c1ed1146cf
commit
0c2f2b0749
|
@ -16,11 +16,21 @@ Builtins *Builtins::instance(bool erase)
|
||||||
|
|
||||||
void Builtins::init(const char *name, class AbstractModule *module)
|
void Builtins::init(const char *name, class AbstractModule *module)
|
||||||
{
|
{
|
||||||
|
#ifndef ENABLE_EXPERIMENTAL
|
||||||
|
if (module->is_experimental()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
Builtins::instance()->globalscope.modules[name] = module;
|
Builtins::instance()->globalscope.modules[name] = module;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builtins::init(const char *name, class AbstractFunction *function)
|
void Builtins::init(const char *name, class AbstractFunction *function)
|
||||||
{
|
{
|
||||||
|
#ifndef ENABLE_EXPERIMENTAL
|
||||||
|
if (function->is_experimental()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
Builtins::instance()->globalscope.functions[name] = function;
|
Builtins::instance()->globalscope.functions[name] = function;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,8 @@ public:
|
||||||
AbstractFunction() : feature(NULL) {}
|
AbstractFunction() : feature(NULL) {}
|
||||||
AbstractFunction(const Feature& feature) : feature(&feature) {}
|
AbstractFunction(const Feature& feature) : feature(&feature) {}
|
||||||
virtual ~AbstractFunction();
|
virtual ~AbstractFunction();
|
||||||
virtual bool is_enabled() const { return (feature == NULL) || feature->is_enabled(); };
|
virtual bool is_experimental() const { return feature != NULL; }
|
||||||
|
virtual bool is_enabled() const { return (feature == NULL) || feature->is_enabled(); }
|
||||||
virtual Value evaluate(const class Context *ctx, const class EvalContext *evalctx) const;
|
virtual Value evaluate(const class Context *ctx, const class EvalContext *evalctx) const;
|
||||||
virtual std::string dump(const std::string &indent, const std::string &name) const;
|
virtual std::string dump(const std::string &indent, const std::string &name) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -67,7 +67,8 @@ public:
|
||||||
AbstractModule() : feature(NULL) {}
|
AbstractModule() : feature(NULL) {}
|
||||||
AbstractModule(const Feature& feature) : feature(&feature) {}
|
AbstractModule(const Feature& feature) : feature(&feature) {}
|
||||||
virtual ~AbstractModule();
|
virtual ~AbstractModule();
|
||||||
virtual bool is_enabled() const { return (feature == NULL) || feature->is_enabled(); };
|
virtual bool is_experimental() const { return feature != NULL; }
|
||||||
|
virtual bool is_enabled() const { return (feature == NULL) || feature->is_enabled(); }
|
||||||
virtual class AbstractNode *instantiate(const Context *ctx, const ModuleInstantiation *inst, const class EvalContext *evalctx = NULL) const;
|
virtual class AbstractNode *instantiate(const Context *ctx, const ModuleInstantiation *inst, const class EvalContext *evalctx = NULL) const;
|
||||||
virtual std::string dump(const std::string &indent, const std::string &name) const;
|
virtual std::string dump(const std::string &indent, const std::string &name) const;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue