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, or vec4f in case of quaternion) ‘translation’ (type vec3f) ‘scaling’ (type vec3f)
The default values of the input properties are taken from the bound ramses::Node provided during construction. This also applies for rotations, if the rlogic::ERotationType and ramses::ERotationConvention values of the ramses node match (both are Euler, and both correspond to the same axis ordering). Otherwise a warning is issued and the rotation values are set to 0.
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
-
ERotationType
getRotationType
() const¶ Returns the statically configured rotation type for the node rotation property.
- Return
the currently used rotation type
-
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
impl
: implementation details of the RamsesNodeBinding
-
~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
-
internal::RamsesNodeBindingImpl &
m_nodeBinding
¶ Implementation detail of RamsesNodeBinding
-
ramses::Node &