|
Rumba C++ SDK
|
A node attribute delegate. More...
#include <NodeDelegate.h>
Public Member Functions | |
| virtual | ~AttributeDelegate () |
| virtual std::shared_ptr< NodeDelegate > | owner ()=0 |
| Returns the owner node. More... | |
| virtual std::string | name () const =0 |
| Return the attribute name. More... | |
| virtual bool | is_mutable () const |
| Return true is the attribute can be modified. More... | |
| virtual bool | is_visible () const |
| Return true is the attribute is visible. More... | |
| virtual bool | is_animable () const |
| Return true is the attribute is animable. More... | |
| virtual bool | accepts_overrides () const |
| Return true is the attribute accepts overrides. More... | |
| virtual bool | is_overridden () const |
| Return true is the attribute is overridden. More... | |
| virtual void | add_override () |
| Add add override. More... | |
| virtual void | remove_override () |
| Remove the override. More... | |
| virtual Value | value (const QueryContext &qc=QueryContext::at_current_frame) const =0 |
| Return the attribute value. More... | |
| virtual StringView | type_name () const =0 |
| Get the attribute type name, without evaluating the attribute. More... | |
| virtual bool | is_plug () const |
| Return true if this attribute is a Rumba Plug. More... | |
| virtual Plug | plug () const |
| Return the plug behind this attribute. More... | |
| virtual std::shared_ptr< AttributeDescriptor > | description () const |
| Return the description for this attribute (see Plug description). More... | |
| virtual bool | has_node_delegate () const |
| Return true if this attribute has a dedicated node delegate to traverse its structure. More... | |
| virtual std::shared_ptr< NodeDelegate > | node_delegate () |
| Return the dedicated node delegate. More... | |
| virtual void | set_value (const Value &value, const ModificationContext &mc=ModificationContext::undoable) |
| Set the attribute value. More... | |
| virtual std::shared_ptr< Observer > | create_observer (const std::function< void()> &func, bool in_interactive=true) |
| Return an observer which will call the func function when the attribute is possibly modified. More... | |
| virtual std::shared_ptr< Channel > | channel () |
| If this attribute has a single channel, return it, return nullptr otherwise. More... | |
| virtual std::shared_ptr< Channel > | channel (const ChannelType sc) |
| Return the specified channel if available, return nullptr otherwise. More... | |
| virtual std::vector< Channel > | channels () |
| Return all the attribute's channels. More... | |
A node attribute delegate.
|
inlinevirtual |
|
virtual |
Return true is the attribute accepts overrides.
The default implementation returns false.
Reimplemented in maquina::VirtualPlugAttributeDelegate.
|
virtual |
Add add override.
The default implementation does nothing.
Reimplemented in maquina::VirtualPlugAttributeDelegate.
|
virtual |
If this attribute has a single channel, return it, return nullptr otherwise.
|
virtual |
Return the specified channel if available, return nullptr otherwise.
|
virtual |
Return all the attribute's channels.
|
virtual |
Return an observer which will call the func function when the attribute is possibly modified.
The observer is called when the attribute is modified. It may be called more than necessary in some implementation, like with the Values's attributes.
To stop the function to be called, un-reference the Observer shared pointer.
If no observer can be created, returns nullptr.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return the description for this attribute (see Plug description).
Reimplemented in maquina::VirtualPlugAttributeDelegate.
|
virtual |
Return true if this attribute has a dedicated node delegate to traverse its structure.
The default implementation returns false
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return true is the attribute is animable.
The default implementation returns false.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return true is the attribute can be modified.
The default implementation returns false.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return true is the attribute is overridden.
The default implementation returns false.
Reimplemented in maquina::VirtualPlugAttributeDelegate.
|
virtual |
Return true if this attribute is a Rumba Plug.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return true is the attribute is visible.
The default implementation returns true.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
pure virtual |
Return the attribute name.
Implemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return the dedicated node delegate.
Implemented by the plug-in.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
pure virtual |
Returns the owner node.
Implemented by the plug-in.
Implemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Return the plug behind this attribute.
| std::runtime_error | if the attribute is not mapped to a Plug |
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
virtual |
Remove the override.
The default implementation does nothing.
Reimplemented in maquina::VirtualPlugAttributeDelegate.
|
virtual |
Set the attribute value.
Reimplemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
pure virtual |
Get the attribute type name, without evaluating the attribute.
Implemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.
|
pure virtual |
Return the attribute value.
Implemented in maquina::VirtualPlugAttributeDelegate, and maquina::NodeDelegateMaquinaAttributeDelegate.