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. Whereas the matrix returned by the targeted Graph::IAnchor node always represents the anchor's most recent transform in world coordinates, the ICloneTransform may use that matrix in either an absolute fashion (i.e. replace the current world transform by the anchor's), or re-apply it onto the world transform currently on its traversal stack (i.e. multiply it).

Boolean SetUsingAbsoluteTransformEnabled(Boolean enabled)

Parameters
enabledIf true, the anchor's transform replaces the current world transform
Returns
Boolean true if successful

IsUsingAbsoluteTransformEnabled()

Check if absolute transforms are enabled.

Boolean IsUsingAbsoluteTransformEnabled()

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.