22 MAQUINA_IGNORE_WARNINGS_BEGIN
28 MAQUINA_IGNORE_WARNINGS_END
31 #include <unordered_map> 42 class ModificationContext;
43 class PartialInvalidation;
69 time_varying = 1 << 1,
75 auto_connect = 1 << 13,
96 std::string name()
const;
99 std::string full_name()
const;
102 std::string document_path()
const;
105 std::string nice_name()
const;
116 std::string type_name(TypeEvaluationMode mode = TypeEvaluationMode::Default)
const;
119 std::shared_ptr<AttributeDescriptor> description()
const;
122 void set_description(
const std::string& description,
bool undo_stack=
false);
125 void set_default_value(
const Value& value);
135 static const int32_t AllFrames = int32_t(0x80000000);
143 Value rest_value()
const;
148 void force_varying(
bool force );
158 bool as_bool()
const;
166 float as_float()
const;
170 double as_double()
const;
174 const std::string& as_string()
const;
177 std::wstring as_wstring()
const;
221 std::shared_ptr<const class UserData> as_user_data()
const;
224 void set_value(
const Value& value,
bool undo_stack=
false);
246 const gsl::span<const Plug>& plugs
250 bool is_connected()
const;
253 bool is_connection_serialized()
const;
256 bool is_internal()
const;
259 bool is_channel()
const;
262 void set_channel(
bool channel );
265 bool is_constant()
const;
268 bool is_evaluated()
const;
271 bool is_output()
const;
274 bool is_keyable()
const;
277 bool is_main_plug()
const;
281 bool is_auto_connect()
const;
285 bool is_dynamic()
const;
289 bool is_referenced_dynamic()
const;
292 bool is_animable()
const;
295 bool is_mutable()
const;
298 bool is_referenced_connection()
const;
317 void connect(
const Plug& src,
318 bool undo_stack=
false,
319 bool serialize=
false);
322 void disconnect(
bool undo_stack=
false);
325 void disconnect_outputs(
bool undo_stack=
false);
335 void add_dynamic_valued_dependency(
const Plug& dependence,
336 int32_t time_offset = 0,
bool undo_stack =
false,
bool serialize =
false);
339 void add_valued_dependency(
const Plug& dependence, int32_t index = -1,
340 int32_t time_offset = 0,
bool undo_stack =
false,
bool serialize =
false);
351 void remove_dynamic_valued_dependency(
const Plug& dependence,
bool undo_stack =
true );
354 void remove_valued_dependency(
const Plug& dependence,
bool undo_stack =
true );
363 void remove_dynamic_valued_dependency( uint32_t index,
bool undo_stack =
true );
366 void remove_valued_dependency( uint32_t index,
bool undo_stack =
true );
370 void remove_all_dynamic_valued_dependencies(
bool undo_stack =
true );
373 void remove_all_valued_dependencies(
bool undo_stack =
true );
375 std::vector<Plug> notification_dependencies();
376 void add_notification_dependency(
const Plug& dependence,
377 bool serialize=
false);
378 void remove_notification_dependency(
const Plug& dependence,
380 void remove_all_notification_dependencies(
bool notify=
true);
382 std::vector<Plug> back_dependencies();
383 size_t back_dependencies_count();
386 std::vector<Plug> valued_dependencies();
390 Plug valued_dependence(
int dep_index)
const;
393 uint32_t valued_dependencies_count()
const;
398 bool has_valued_dependency(
const Plug& plug )
const;
408 void touch(
int first_frame,
int last_frame,
bool rest);
411 void set_to_default();
414 uint32_t flags()
const;
417 void set_flags(uint32_t flags);
431 Plug input_origin()
const;
448 bool operator==(const
Iterator &other) const noexcept;
449 bool operator!=(const
Iterator &other) const noexcept;
473 Outputs outputs()
const;
476 std::vector<Plug> channel_plugs()
const;
479 std::vector<Channel> channels()
const;
482 std::shared_ptr<Channel> channel()
const;
485 std::shared_ptr<Channel> channel(
ChannelType channel_type)
const;
487 bool has_node()
const;
493 std::vector<Plug> walk_down()
const;
496 static bool validate_name(
const char* plug_name);
502 std::shared_ptr<NodeDelegate> node_delegate()
const;
510 std::unordered_map<float, Key> key_frames()
const;
512 std::unordered_map<float, Key> key_frames_in_layer(
const Node& layer)
const;
515 std::shared_ptr<Impl> _owner;
519 Plug(
const std::shared_ptr<Impl>& node,
void *plug)
526 # include <functional> 532 std::size_t
operator()( const ::maquina::Plug& plug )
const noexcept
534 return reinterpret_cast<size_t>( plug._plug );
Definition: ImathBox.h:71
Status
Status of the plug.
Definition: Plug.h:301
DependencyFlags
Dependency flags to pass to add_value_dependency.
Definition: Plug.h:82
Definition: ImathFrame.h:42
Definition: ImathColor.h:120
Definition: ImathFrame.h:43
ChannelType
Predefined channel types.
Definition: ChannelType.h:23
void * _plug
Definition: Plug.h:516
A Plug accessor to the outputs.
Definition: Plug.h:435
Definition: ImathVec.h:63
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
Definition: ModificationContext.h:21
The channel exists but is not visible in the user interface.
std::size_t operator()(const ::maquina::Plug &plug) const noexcept
Definition: Plug.h:532
MAQUINA_EXPORT Value default_value(const maquina::StringView &type_name)
Return the default value of a type.
none
Definition: BrushID.h:29
std::forward_iterator_tag iterator_category
Definition: Plug.h:441
bool selected
Definition: Plug.h:506
EvaluationMode
The value evaluation modes.
Definition: Plug.h:128
Definition: ImathQuat.h:71
#define MAQUINA_EXPORT
Definition: Export.h:31
A node plug.
Definition: Plug.h:59
TypeEvaluationMode
The plug's type evaluation modes.
Definition: Plug.h:108
std::ptrdiff_t difference_type
Definition: Plug.h:443
Ptr< const PartialInvalidation > PartialInvalidationPtr
Definition: EvalContext.h:26
Definition: ImathVec.h:61
Enum
Definition: Plug.h:65
bool operator!=(const Plug &o) const
Definition: Plug.h:499
static const QueryContext at_current_frame
Query at the current frame.
Definition: QueryContext.h:36
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
bool operator==(const Plug &o) const
Definition: Plug.h:498
Definition: QueryContext.h:22
Base class of all Rumba nodes.
Definition: Node.h:37
Base class of all Rumba values.
Definition: Value.h:34