Murl Engine Lua Addon API  Version 1.0 beta
Murl.Graph.ICloneTransform

The ICloneTransform graph node interface.

Nodes implementing the ICloneTransform interface can be connected to Graph::IAnchor nodes, for the purpose of remotely retrieving and setting the most recent world-space transform during traversal, i.e. cloning the transform of another node. Anchors can either be accessed via the IAnchorNodeTarget returned from GetAnchorNodeTarget(), or by setting an anchor slot in the range [0..NUM_ANCHOR_SLOTS-1] via SetAnchorSlot().

See Graph::IAnchor for defining an anchor transform to refer to.


Table members

Methods


GetNodeInterface()

Get the constant Graph::INode interface. This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Murl.Graph.INode GetNodeInterface()

Returns
Murl.Graph.INode The constant Graph::INode interface, or null if not available

GetAnchorNodeTarget()

Get the constant Graph::IAnchorNodeTarget container. This method returns a constant pointer to the node's Graph::IAnchorNodeTarget container, which allows to query the referenced Graph::IAnchor node.

Murl.Graph.IGenericNodeTarget.GraphIAnchor GetAnchorNodeTarget()

Returns
Murl.Graph.IGenericNodeTarget.GraphIAnchor The constant Graph::IAnchorNodeTarget container, or null if not available

SetAnchorSlot(slot)

Set the anchor slot used to source an anchor.

Boolean SetAnchorSlot(Integer slot)

Parameters
slotThe anchor slot.
Returns
Boolean true if successful.

GetAnchorSlot()

Get the anchor slot used source an anchor.

Integer GetAnchorSlot()

Returns
Integer The anchor slot.

SetUsingAbsoluteTransformEnabled(enabled)

Enable/disable absolute transform. This setting specifies whether the effective world transform (where the given anchor transform is cloned into) should be based on the current calculated world transform (false, default), or the identity transform (true).

Boolean SetUsingAbsoluteTransformEnabled(Boolean enabled)

Parameters
enabledIf true, the current world transform is replaced by the identity matrix before cloning.
Returns
Boolean true if successful

IsUsingAbsoluteTransformEnabled()

Check if absolute transforms are enabled.

Boolean IsUsingAbsoluteTransformEnabled()

Returns
Boolean true if enabled.

SetUsingAbsoluteAnchorEnabled(enabled)

Enable/disable absolute anchor. If set to false (default), the current world transform gets multiplied with the given enabled anchor transform components (translation and/or rotation) to yield the resulting world transform. If true, the enabled anchor components simply replace the values in the current world transform.

Boolean SetUsingAbsoluteAnchorEnabled(Boolean enabled)

Parameters
enabledIf true, the current world transform's components are directly replaced by the anchor's components.
Returns
Boolean true if successful

IsUsingAbsoluteAnchorEnabled()

Check if absolute transforms are enabled.

Boolean IsUsingAbsoluteAnchorEnabled()

Returns
Boolean true if enabled.

SetAffectRotationEnabled(enabled)

Enable/disable rotation cloning. If disabled, the cloned transform's upper 3x3 matrix will be set to the identity matrix, i.e. the anchor's rotation part will not be cloned.

Boolean SetAffectRotationEnabled(Boolean enabled)

Parameters
enabledIf false, rotation cloning is disabled
Returns
Boolean true if successful

IsAffectRotationEnabled()

Check if rotation cloning is enabled.

Boolean IsAffectRotationEnabled()

Returns
Boolean true if enabled.

SetAffectTranslationEnabled(enabled)

Enable/disable translation cloning. If disabled, the cloned transform's XW, YW and ZW components will be initialized to zero, i.e. the anchor's translation part will not be cloned.

Boolean SetAffectTranslationEnabled(Boolean enabled)

Parameters
enabledIf false, translation cloning is disabled
Returns
Boolean true if successful

IsAffectTranslationEnabled()

Check if translation cloning is enabled.

Boolean IsAffectTranslationEnabled()

Returns
Boolean true if enabled.

SetAffectDepthOrderEnabled(enabled)

Enable/disable depth order cloning.

Boolean SetAffectDepthOrderEnabled(Boolean enabled)

Parameters
enabledIf true, the depth order is cloned.
Returns
Boolean true if successful.

IsAffectDepthOrderEnabled()

Check if cloning of the current depth order is enabled.

Boolean IsAffectDepthOrderEnabled()

Returns
Boolean true if enabled.