LogicNode

class rlogic::LogicNode : public rlogic::LogicObject

A base class for multiple logic classes which provides a unified interface to their inputs and outputs. Some subclasses don’t have inputs or outputs - in that case the getInputs or getOutputs methods respectively will return nullptr. Some subclasses, like the rlogic::RamsesAppearanceBinding, will have their inputs depending on their current state (in this example the GLSL uniforms of the shader to which the bound ramses Appearance belongs). In those cases, getInputs()/getOutputs() will return a rlogic::Property which represents an empty struct (type Struct, but no child properties).

Subclassed by rlogic::AnchorPoint, rlogic::AnimationNode, rlogic::LuaInterface, rlogic::LuaScript, rlogic::RamsesBinding, rlogic::TimerNode

Public Functions

Property *getInputs()

Returns a property of type Struct which holds the inputs of the LogicNode.

Returns the root Property of the LogicNode which contains potentially nested list of properties. Calling rlogic::Property::getName() on the returned object will always return “” regardless of the name used in the scripts. This applies only to the root input node, rest of the nodes in the tree structure follow standard behavior. The properties are different for the classes which derive from LogicNode. Look at the documentation of each derived class for more information on the properties.

Return

a tree like structure with the inputs of the LogicNode

const Property *getInputs() const

Returns a property of type Struct which holds the inputs of the LogicNode.

Returns the root Property of the LogicNode which contains potentially nested list of properties. Calling rlogic::Property::getName() on the returned object will always return “” regardless of the name used in the scripts. This applies only to the root input node, rest of the nodes in the tree structure follow standard behavior. The properties are different for the classes which derive from LogicNode. Look at the documentation of each derived class for more information on the properties.

Return

a tree like structure with the inputs of the LogicNode

const Property *getOutputs() const

Returns a property of type Struct which holds the outputs of the LogicNode

Returns the root Property of the LogicNode which contains potentially nested list of properties. Calling rlogic::Property::getName() on the returned object will always return “” regardless of the name used in the scripts. This applies only to the root output node, rest of the nodes in the tree structure follow standard behavior. The properties are different for the classes which derive from LogicNode. Look at the documentation of each derived class for more information on the properties.

Return

a tree like structure with the outputs of the LogicNode

~LogicNode() noexcept override

Destructor of LogicNode

LogicNode(const LogicNode &other) = delete

Copy Constructor of LogicNode is deleted because LogicNodes are not supposed to be copied

Parameters

LogicNode(LogicNode &&other) = delete

Move Constructor of LogicNode is deleted because LogicNodes are not supposed to be moved

Parameters

LogicNode &operator=(const LogicNode &other) = delete

Assignment operator of LogicNode is deleted because LogicNodes are not supposed to be copied

Parameters

LogicNode &operator=(LogicNode &&other) = delete

Move assignment operator of LogicNode is deleted because LogicNodes are not supposed to be moved

Parameters

Public Members

internal::LogicNodeImpl &m_impl

Implementation detail of LogicNode