41 Node(
const char* type,
43 Node* parent =
nullptr,
49 Node* parent =
nullptr,
50 bool undo_stack =
false 58 void rename(
const char* new_name,
bool undo_stack =
false);
61 const char* name()
const;
64 std::string full_name()
const;
67 std::string full_document_name()
const;
70 const char* ui_descriptor()
const;
73 const char* type_name()
const;
79 bool is_instance(
const char* node_type_name )
const;
83 bool is_referenced()
const;
87 bool is_mutable()
const;
91 bool is_reference_root()
const;
94 bool is_reference_loaded()
const;
97 bool is_serializable()
const;
101 bool is_document_node()
const;
105 void set_serializable(
bool serialize );
109 std::wstring reference_filename()
const;
114 void unload_reference();
120 void load_reference();
125 void replace_reference(
const std::wstring& new_reference);
129 void write(
const std::wstring& filename)
const;
138 public std::iterator<
139 std::forward_iterator_tag,
140 Node, std::ptrdiff_t, Node, Node >
157 Iterator begin()
const;
158 Iterator end()
const;
167 Children children()
const;
170 bool has_parent()
const;
178 void set_parent(Node& parent,
bool undo_stack);
181 bool has_document()
const;
185 Node document()
const;
188 bool has_child(
const char* child_name)
const;
192 Node child(
const char* name)
const;
195 bool is_child_of(
const Node& parent)
const;
199 Node find_first(
const char* name)
const;
208 public std::iterator<
209 std::forward_iterator_tag,
210 Plug, std::ptrdiff_t, Plug, Plug >
217 Iterator(
const std::shared_ptr< Impl > &node,
void *iterator );
221 std::shared_ptr< Impl > _node;
238 bool has_plug(
const char* plug_name)
const;
248 Plug add_plug(
const char* name,
const Value& default_value,
int flags = Flags::serial,
bool undo_stack =
false,
const std::string & description =
"" );
258 void remove_plug(
const char* name,
bool undo_stack =
false );
268 void remove_plug(
const Plug& plug,
bool undo_stack =
false );
283 Plug plug(
const char* plug_name)
const;
286 std::vector<Plug> channels()
const;
291 std::vector<Node> relationship();
294 const std::vector<std::string>& bases()
const;
300 std::shared_ptr<NodePlugin> plugin()
const;
304 std::vector<Node> search(
305 const std::string& key
308 std::shared_ptr<class NodeDelegate> node_delegate();
314 void notify_first_init(
bool undo_stack);
320 std::shared_ptr<Impl> _impl;
323 Node(
const std::shared_ptr<Impl>& impl)
bool operator==(const Node &o) const
Definition: Node.h:316
MAQUINA_EXPORT Node reference(Node &root, const std::wstring &filepath, const std::string &reference_root_name="")
Reference the content of a file into the project.
Buffer< T > duplicate(const BufferConst< T > &a)
Definition: Buffer.h:161
bool operator!=(const Node &o) const
Definition: Node.h:317
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A Plug accessor.
Definition: Node.h:203
Plugs(void *node)
Definition: Node.h:225
#define MAQUINA_EXPORT
Definition: Export.h:31
A node plug.
Definition: Plug.h:52
A Node children iterator.
Definition: Node.h:137
MAQUINA_EXPORT Node plug_node(const Plug &plug)
Get a plug node.
bool operator!=(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:305
Flags
Definition: Plug.h:55
bool operator==(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:273
A Plug iterator.
Definition: Node.h:207
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
A Node children accessor.
Definition: Node.h:133
Children(void *node)
Definition: Node.h:154
Base class of all Rumba nodes.
Definition: Node.h:36
Base class of all Rumba values.
Definition: Value.h:34