23 class ConditionalEvalContext;
26 class PartialInvalidation;
55 const char* plug_name,
79 const char* plug_name,
94 const char* plug_name,
116 const char *plug_name,
121 const std::vector<InternalDependencies> &intern_deps,
129 int first_extern_deps = -1,
130 const std::vector<ExternalDependencies> &extern_deps = {}
A plug descriptor to pass to the Registry::register_node() function.
Definition: PlugDescriptor.h:30
This plug value should be keeped in memory because it takes time to be computed.
Definition: PlugDescriptor.h:36
ExternalDependencies(const char *plug_name, const Value &default_value)
Definition: PlugDescriptor.h:78
This plug should not be visible in the graph editor.
Definition: PlugDescriptor.h:39
A plug internal dependency descriptor.
Definition: PlugDescriptor.h:51
bool(* _evaluate)(const ConditionalEvalContext &context, int dep)
Definition: PlugDescriptor.h:71
bool(* _dyn_evaluate)(const ConditionalEvalContext &context, int dep)
Definition: PlugDescriptor.h:157
std::vector< ExternalDependencies > _extern_deps
Definition: PlugDescriptor.h:159
Value _default_value
Definition: PlugDescriptor.h:88
Definition: PlugDescriptor.h:35
Value _default_value
Definition: PlugDescriptor.h:151
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A plug external dependency descriptor.
Definition: PlugDescriptor.h:75
int _first_extern_deps
Definition: PlugDescriptor.h:158
Definition: ConditionalEvalContext.h:25
const char * _plug_name
Definition: PlugDescriptor.h:87
PlugDescriptor(const char *plug_name, const Value &default_value, uint32_t flags, const char *ui, const std::function< Value(EvalContext &)> &eval_handler, const std::vector< InternalDependencies > &intern_deps, PartialInvalidationPtr(*partial_invalidation_handler)(const Plug &plug, int dep, const PartialInvalidationPtr &pi)=nullptr, bool(*dyn_evaluate)(const ConditionalEvalContext &context, int dep)=nullptr, int first_extern_deps=-1, const std::vector< ExternalDependencies > &extern_deps={})
Register an evaluated plug.
Definition: PlugDescriptor.h:115
This plug is evaluated by the background engine.
Definition: PlugDescriptor.h:47
This plug is always visible.
Definition: PlugDescriptor.h:44
MAQUINA_EXPORT Value default_value(const maquina::StringView &type_name)
Return the default value of a type.
This class holds the evaluation context passed to the evaluation handler during a plug evaluation...
Definition: EvalContext.h:51
PartialInvalidationPtr(* _partial_invalidation_handler)(const Plug &plug, int dep, const PartialInvalidationPtr &pi)
Definition: PlugDescriptor.h:156
const char * _plug_name
Definition: PlugDescriptor.h:69
This plug may be connected automatically when the node is dropped over a connection.
Definition: PlugDescriptor.h:45
This plug is not animable (i.e no animation curve, only constant values)
Definition: PlugDescriptor.h:42
This plug is a channel.
Definition: PlugDescriptor.h:41
A node plug.
Definition: Plug.h:59
bool _has_conditional_evaluation
Definition: PlugDescriptor.h:160
Ptr< const PartialInvalidation > PartialInvalidationPtr
Definition: EvalContext.h:26
int _time_offset
Definition: PlugDescriptor.h:70
PlugDescriptor(const char *plug_name, const Value &default_value, uint32_t flags=serial, const char *ui="")
Register an input plug.
Definition: PlugDescriptor.h:93
This plug should be hidden in the UI by default.
Definition: PlugDescriptor.h:40
std::string _plug_name
Definition: PlugDescriptor.h:150
This plug is cached with the exact value.
Definition: PlugDescriptor.h:43
Flags
Definition: PlugDescriptor.h:33
This plug value should be serialized.
Definition: PlugDescriptor.h:38
std::function< Value(EvalContext &)> _eval_handler
Definition: PlugDescriptor.h:154
std::vector< InternalDependencies > _intern_deps
Definition: PlugDescriptor.h:155
InternalDependencies(const char *plug_name, int time_offset=0, bool(*evaluate)(const ConditionalEvalContext &context, int dep)=nullptr)
Definition: PlugDescriptor.h:54
This plug is never constant.
Definition: PlugDescriptor.h:37
This plug cannot be connected with an input.
Definition: PlugDescriptor.h:46
std::string _ui
Definition: PlugDescriptor.h:153
Base class of all Rumba values.
Definition: Value.h:34
uint32_t _flags
Definition: PlugDescriptor.h:152