Murl::Graph::ICloneTransform Interface Referenceabstract

The ICloneTransform graph node interface. More...

#include "murl_graph_i_clone_transform.h"

Inheritance diagram for Murl::Graph::ICloneTransform:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual IAnchorNodeTargetGetAnchorNodeTarget ()=0
 Get the mutable Graph::IAnchorNodeTarget container. More...
 
virtual const IAnchorNodeTargetGetAnchorNodeTarget () const =0
 Get the constant Graph::IAnchorNodeTarget container. More...
 
virtual Bool SetUsingAbsoluteTransformEnabled (Bool enabled)=0
 Enable/disable absolute transform. More...
 
virtual Bool IsUsingAbsoluteTransformEnabled () const =0
 Check if absolute transforms are enabled. More...
 
virtual Bool SetAffectRotationEnabled (Bool enabled)=0
 Enable/disable rotation cloning. More...
 
virtual Bool IsAffectRotationEnabled () const =0
 Check if rotation cloning is enabled. More...
 
virtual Bool SetAffectTranslationEnabled (Bool enabled)=0
 Enable/disable translation cloning. More...
 
virtual Bool IsAffectTranslationEnabled () const =0
 Check if translation cloning is enabled. More...
 
virtual Bool SetAffectDepthOrderEnabled (Bool enabled)=0
 Enable/disable depth order cloning. More...
 
virtual Bool IsAffectDepthOrderEnabled () const =0
 Check if cloning of the current depth order is enabled. More...
 

Detailed Description

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.

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

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::ICloneTransform::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

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

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::ICloneTransform::GetNodeInterface ( ) const
pure virtual

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.

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

◆ GetAnchorNodeTarget() [1/2]

virtual IAnchorNodeTarget* Murl::Graph::ICloneTransform::GetAnchorNodeTarget ( )
pure virtual

Get the mutable Graph::IAnchorNodeTarget container.

This method returns a mutable pointer to the node's Graph::IAnchorNodeTarget container, which allows to add, remove or query the referenced Graph::IAnchor node.

Returns
The mutable Graph::IAnchorNodeTarget container, or null if not available

◆ GetAnchorNodeTarget() [2/2]

virtual const IAnchorNodeTarget* Murl::Graph::ICloneTransform::GetAnchorNodeTarget ( ) const
pure virtual

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.

Returns
The constant Graph::IAnchorNodeTarget container, or null if not available

◆ SetUsingAbsoluteTransformEnabled()

virtual Bool Murl::Graph::ICloneTransform::SetUsingAbsoluteTransformEnabled ( Bool  enabled)
pure virtual

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).

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

◆ IsUsingAbsoluteTransformEnabled()

virtual Bool Murl::Graph::ICloneTransform::IsUsingAbsoluteTransformEnabled ( ) const
pure virtual

Check if absolute transforms are enabled.

Returns
true if enabled.

◆ SetAffectRotationEnabled()

virtual Bool Murl::Graph::ICloneTransform::SetAffectRotationEnabled ( Bool  enabled)
pure virtual

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.

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

◆ IsAffectRotationEnabled()

virtual Bool Murl::Graph::ICloneTransform::IsAffectRotationEnabled ( ) const
pure virtual

Check if rotation cloning is enabled.

Returns
true if enabled.

◆ SetAffectTranslationEnabled()

virtual Bool Murl::Graph::ICloneTransform::SetAffectTranslationEnabled ( Bool  enabled)
pure virtual

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.

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

◆ IsAffectTranslationEnabled()

virtual Bool Murl::Graph::ICloneTransform::IsAffectTranslationEnabled ( ) const
pure virtual

Check if translation cloning is enabled.

Returns
true if enabled.

◆ SetAffectDepthOrderEnabled()

virtual Bool Murl::Graph::ICloneTransform::SetAffectDepthOrderEnabled ( Bool  enabled)
pure virtual

Enable/disable depth order cloning.

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

◆ IsAffectDepthOrderEnabled()

virtual Bool Murl::Graph::ICloneTransform::IsAffectDepthOrderEnabled ( ) const
pure virtual

Check if cloning of the current depth order is enabled.

Returns
true if enabled.

The documentation for this interface was generated from the following file:
  • murl_graph_i_clone_transform.h


Copyright © 2011-2018 Spraylight GmbH.