Enzo
Loading...
Searching...
No Matches
ScriptEngine.h
1#pragma once
2#include "Engine/Core/Types.h"
3#include <memory>
4#include <unordered_map>
5
6namespace enzo::expr {
7
8class PointScript;
9
23{
24 public:
25 static ScriptEngine& instance();
26
29 std::shared_ptr<const PointScript> compile(const String& code, String& error);
30
31 ScriptEngine(const ScriptEngine&) = delete;
32 ScriptEngine& operator=(const ScriptEngine&) = delete;
33
34 private:
35 ScriptEngine() = default;
36
37 std::unordered_map<String, std::shared_ptr<const PointScript>> cache_;
38};
39
40} // namespace enzo::expr
Basic attribute, parameter, and node types for Enzo.
Compiler for the per point scripts a script node runs.
Definition ScriptEngine.h:23
std::shared_ptr< const PointScript > compile(const String &code, String &error)
Returns the compiled script for the user's code.
Definition ScriptEngine.cpp:12