RamsesNodeBinding

class rlogic::RamsesNodeBinding : public rlogic::RamsesBinding

The RamsesNodeBinding is a type of rlogic::RamsesBinding which allows manipulation of Ramses nodes. RamsesNodeBinding’s can be created with rlogic::LogicEngine::createRamsesNodeBinding.

The RamsesNodeBinding has a fixed set of inputs which correspond to properties of ramses::Node. They have a fixed type and name: ‘visibility’ (type bool) ‘rotation’ (type vec3f) ‘translation’ (type vec3f) ‘scaling’ (type vec3f)

The default values of the input properties are taken from the bound ramses::Node provided during construction. The rotation convention is also taken from Ramses (see rlogic::RamsesNodeBinding::setRotationConvention)..

The RamsesNodeBinding class has no output properties (thus getOutputs() will return nullptr) because the outputs are implicitly the properties of the bound Ramses node.

Note

In case no values were set (because the user neither set a value explicitly nor linked the input of rlogic::RamsesNodeBinding to another LogicNode output) the Ramses values are not touched. It is possible to set values directly to ramses::Node which will not be overwritten by rlogic::RamsesNodeBinding if you never explicitly assigned a value to the rlogic::RamsesNodeBinding inputs. You can also mix-and-match this behavior - assign some properties and others not.

The LogicEngine does not restrict which Scene the bound nodes belong to - it is possible to have nodes from different scenes bound to the same LogicEngine, and vice-versa. The effects on the ramses::Node property values which are bound to a rlogic::RamsesNodeBinding are immediately visible after rlogic::LogicEngine::update() returns, however the user has to call ramses::Scene::flush() explicitly based on their scene update logic and frame lifecycle.

Public Functions

ramses::Node &getRamsesNode() const

Returns the bound ramses node.

Return

the bound ramses node

bool setRotationConvention(ramses::ERotationConvention rotationConvention)

Sets the rotation convention used to set the rotation values to a potentially bound ramses::Node. Default is the same as the ramses default. Use this to change the setting.

Return

true if successful, false otherwise

Parameters
  • rotationConvention: the rotation convention to use

ramses::ERotationConvention getRotationConvention() const

Returns the currently used rotation convention for the node rotation property.

Return

the currently used rotation convention

RamsesNodeBinding(std::unique_ptr<internal::RamsesNodeBindingImpl> impl) noexcept

Constructor of RamsesNodeBinding. User is not supposed to call this - RamsesNodeBindings are created by other factory classes

Parameters

~RamsesNodeBinding() noexcept override

Destructor of RamsesNodeBinding.

RamsesNodeBinding(const RamsesNodeBinding &other) = delete

Copy Constructor of RamsesNodeBinding is deleted because RamsesNodeBindings are not supposed to be copied

Parameters
  • other: RamsesNodeBindings to copy from

RamsesNodeBinding(RamsesNodeBinding &&other) = delete

Move Constructor of RamsesNodeBinding is deleted because RamsesNodeBindings are not supposed to be moved

Parameters
  • other: RamsesNodeBindings to move from

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

Assignment operator of RamsesNodeBinding is deleted because RamsesNodeBindings are not supposed to be copied

Parameters
  • other: RamsesNodeBindings to assign from

RamsesNodeBinding &operator=(RamsesNodeBinding &&other) = delete

Move assignment operator of RamsesNodeBinding is deleted because RamsesNodeBindings are not supposed to be moved

Parameters
  • other: RamsesNodeBindings to assign from

Public Members

std::unique_ptr<internal::RamsesNodeBindingImpl> m_nodeBinding

Implementation detail of RamsesNodeBinding