User Tools

Site Tools


DzERCFreeze

Implements the logic of 'freezing' the numeric properties to a controller property.

More...

Inherits :

Enumerations

Constructors

DAZ Script
DzERCFreeze ()

Methods

Signals

voidERCChanged ()

Detailed Description

This utility class implements the logic of 'freezing' (linking) the current state of numeric properties on a node (or multiple nodes) to a controller property, such that adjusting the controller property adjusts the linked properties in kind. The DzERCLink between the 'frozen' properties and the controller are created such that when the controller is set to the value it is at when the 'freeze' operation is performed, the 'frozen' properties will be at the respective values they were at in that moment of time.

The controller node (the DzNode that the controlling property is located on) and the controller property (the DzNumericProperty that ultimately does the controlling) must be set before calling doFreeze(); see setControllerNode() and setControllerProperty().

An additional property can be set and used to attentuate the effect of the controller property on the 'frozen' properties, or have its value attenuated as the controller property is applied, depending on the AttenuateMode set.

The addPropertiesToFreeze() method is used to inspect the current state of the numeric properties on a a given node that are not currently set to their respective raw values and add them to the list of those properties to be linked to the controller property. This list of properties can be inspected and/or modified using the getPropertiesToFreeze() and setPropertiesToFreeze() methods.

See Also:

Attention:

  • This object is provided by the Property Hierarchy plugin. It is only available when the Property Hierarchy plugin is activated and enabled.

Since:

  • 4.9.3.95

Enumerations


: AttenuateMode

TODO: Add description.

  • SubComponents - TODO: Add description.
  • Controller - TODO: Add description.

Constructors


DzERCFreeze()

Default constructor.

Methods


Boolean : addPropertiesToFreeze( DzNode node )

Adds all numeric properties on node whose values differ from their raw values to the list of properties to 'freeze' (link) to the controller property.

Parameter(s):

  • node - The node to add the numeric properties from.

Return Value:

See Also:


Boolean : doFreeze()

Performs the ERC freeze based on the current settings.

Return Value:

  • true if the freeze operation was successful, otherwise false.

Boolean : getApplyController()

Return Value:

  • true if the controller property will be set to the value that causes the 'frozen' properties to be at their current value once the 'freeze' operation is complete, otherwise false.

AttenuateMode : getAttenuateMode()

Return Value:

  • The mode that determines how the attenuate property will be used.

DzNumericProperty : getAttenuateProperty()

Return Value:

  • If set, the property that will be used to attenuate either the controller property, or the affect of the controller property on the properties returned by getPropertiesToFreeze(), depending on the AttenuateMode set.

DzNode : getControllerNode()

Return Value:

  • The node that the controller property is on.

Attention:

  • This is used to determine the root node that the “Restore Fgure” and the “Restore Rigging” options are applied to if getRestoreFigure() and/or getRestoreRigging() return true.

DzNumericProperty : getControllerProperty()

Return Value:


Boolean : getKeyed()

Return Value:

  • true if the DzERCLink created between the controller property and the 'frozen' properties will be a DzERCLink::ERCKeyed, otherwise false.

Array : getPropertiesToFreeze()

Return Value:


Boolean : getRestoreFigure()

Return Value:

  • true if the Restore Figure action will be executed once the 'freeze' operation is complete, otherwise false.

Boolean : getRestoreRigging()

Return Value:

  • true if the Restore Figure Rigging action will be executed once the 'freeze' operation is complete, otherwise false.

void : setApplyController( Boolean yesNo )

Sets whether or not the controller property will be set to the value that causes the 'frozen' properties to be at their current value once the 'freeze' operation is complete.

Parameter(s):

  • yesNo - If true, the controller property will be applied.

void : setAttenuateMode( AttenuateMode mode )

Sets the mode that determines how the attenuate property will be used.

Parameter(s):

  • mode - The attenuate mode to set.

void : setAttenuateProperty( DzNumericProperty prop )

Sets the property that will be used to attenuate either the controller property, or the affect of the controller property on the properties returned by getPropertiesToFreeze(), depending on the AttenuateMode set.

Parameter(s):

  • prop - The property to set.

void : setControllerNode( DzNode node )

Sets the node that the controller property is on.

Parameter(s):

  • node - The node to set.

Attention:

  • This is used to determine the root node that the “Restore Fgure” and the “Restore Rigging” options are applied to if getRestoreFigure() and/or getRestoreRigging() return true.

void : setControllerProperty( DzNumericProperty prop )

Sets the property that the properties returned by getPropertiesToFreeze() will be linked to when doFreeze() is called.

Parameter(s):

  • prop - The property to set as the controller.

See Also:


void : setKeyed( Boolean yesNo )

Sets whether or not the DzERCLink created between the controller property and the 'frozen' properties will be a DzERCLink::ERCKeyed (using the keys in timeline) or a DzERCLink::ERCDeltaAdd.

Parameter(s):


void : setPropertiesToFreeze( Array propList )

Sets the list of properties that will be linked to the property returned by getControllerProperty() when doFreeze() is called.

Parameter(s):

  • prop - The property to set as the controller.

See Also:


void : setRestoreFigure( Boolean yesNo )

Sets whether or not the Restore Figure action will be executed once the 'freeze' operation is complete.

Parameter(s):

  • yesNo - If true, the Restore Figure action will be executed.

void : setRestoreRigging( Boolean yesNo )

Sets whether or not the Restore Figure Rigging action will be executed once the 'freeze' operation is complete.

Parameter(s):

  • yesNo - If true, the Restore Figure Rigging action will be executed.

Signals


void : ERCChanged()

TODO: Add description.