8 #ifndef LLUVIA_CORE_NODE_CONTAINER_NODE_H_
9 #define LLUVIA_CORE_NODE_CONTAINER_NODE_H_
43 bool hasPort(const std::
string& name) const noexcept override;
47 void bind(const std::
string& name, const std::shared_ptr<
ll::
Object>& obj) override;
49 void bindNode(const std::
string& name, const std::shared_ptr<
ll::
Node>& node);
ContainerNodeDescriptor class.
Node class and related enums.
Class for command buffer.
Definition: CommandBuffer.h:63
Class for describing a container node.
Definition: ContainerNodeDescriptor.h:25
Definition: ContainerNode.h:24
ContainerNode(const std::weak_ptr< ll::Interpreter > &interpreter, const ll::ContainerNodeDescriptor &descriptor)
ll::ContainerNodeDescriptor m_descriptor
Definition: ContainerNode.h:62
ContainerNode(const std::weak_ptr< ll::Interpreter > &interpreter)
void bindNode(const std::string &name, const std::shared_ptr< ll::Node > &node)
bool hasPort(const std::string &name) const noexcept override
Returns whether or not a port exists with a given name.
ll::NodeType getType() const noexcept override
Gets the node type.
void record(ll::CommandBuffer &commandBuffer) const override
Records the operations required to run this node in a ll::CommandBuffer.
std::map< std::string, std::shared_ptr< ll::Object > > m_objects
Definition: ContainerNode.h:64
const ll::Parameter & getParameter(const std::string &name) const override
Gets a parameter.
const ll::ContainerNodeDescriptor & getDescriptor() const noexcept
std::map< std::string, std::shared_ptr< ll::Node > > m_nodes
Definition: ContainerNode.h:65
virtual ~ContainerNode()=default
ll::ContainerNode & operator=(const ll::ContainerNode &)=delete
std::shared_ptr< ll::Node > getNode(const std::string &name) const
void bind(const std::string &name, const std::shared_ptr< ll::Object > &obj) override
Binds a ll::Object as port index for this node.
void setParameter(const std::string &name, const ll::Parameter &value) override
Sets a parameter.
ContainerNode(const ll::ContainerNode &)=delete
std::weak_ptr< ll::Interpreter > m_interpreter
Definition: ContainerNode.h:67
ContainerNode(ll::ContainerNode &&)=delete
ll::ContainerNode & operator=(ll::ContainerNode &&)=delete
std::shared_ptr< ll::Object > getPort(const std::string &name) const override
Gets a port descriptor given its name.
Definition: Interpreter.h:34
Base class for all types that can be used in computer shaders.
Definition: Object.h:94
Definition: Parameter.h:23
NodeType
Class for node type.
Definition: NodeType.h:19