MAXScript Language Reference > 3ds Max Objects > Interfaces > Core Interfaces > Core Interfaces Documentation > P,Q >

# Interface: ParamCollectorOps

Interfaces > Core Interfaces > ParamCollectorOps

| Core Interfaces - Quick Navigation

This Core Interface provides access to the Parameter Collector dialog.

    Interface: ParamCollectorOps

Properties:

    ParamCollectorOps.visible : bool : Read|Write

When set to true, the Parameter Collector floater becomes visible. When set to false, it is hidden.

    ParamCollectorOps.multiEdits : bool : Read|Write

Get/Set the state of the Multiple Edits icon. When set to true, multiple parameters can be controlled simultaneously.

    ParamCollectorOps.isAbsolute : bool : Read|Write

Get/Set the state of the Absolute/Relative icon. When set to true (icon unchecked), the spinners display the absolute values. When set to false (icon checked), the spinners will display relative changes.

The following properties control the custom TrackBar Keys Filter "Parameter Collector Keys"

    ParamCollectorOps.showTrackBarKeys : bool : Read|Write

Controls whether the TrackBar will show animation keys of the parameters displayed by the Parameter Collector. Default is false.

    ParamCollectorOps.showTrackBarSelectedKeys : bool : Read|Write

Controls whether the TrackBar will show selected keys. Default is false.

    ParamCollectorOps.hideOtherKeys : bool : Read|Write

Controls whether the TrackBar will show keys of parameters NOT shown in the Parameter Collector. Default is false.

Methods:

    <void>ParamCollectorOps.newCollection()

Creates a new Parameter Collection.

    <void>ParamCollectorOps.duplicateCollection()

Clones the current Parameter Collection.

    <void>ParamCollectorOps.deleteCollection()

Deletes the current Parameter Collection.

    <integer>ParamCollectorOps.numCollections()

Returns the number of Parameter Collections.

    <index>ParamCollectorOps.getActiveCollection()

Returns the index of the current Parameter Collection.

    <void>ParamCollectorOps.setCollectionName <index>collectionIndex <string>name

Sets the name of the indexed Parameter Collection to the given string.

    <string>ParamCollectorOps.getCollectionName <index>collectionIndex

Returns the name of the indexed Parameter Collection as string

    <void>ParamCollectorOps.doLinkToObjectDialog()

Opens the "Links to Object" dialog.

Picking an object stores the current collection using a live link as part of the object in the scene. Any change to the collection instantly updates the version of the collection stored in the object.

Link to Object has basically the same function as Put To Object except that it guarantees an up-to-date stored version of the collection, especially when merging the object into another scene that is a common production workflow.

Note

Only one "linked-to" object can be active in a scene, but you can use Put To Object on any number of objects at a time.

    <void>ParamCollectorOps.linkToObject <node>node

Links the current collection to the specified node. See above for details on linking collections to scene objects.

    <void>ParamCollectorOps.removeLinkToObject()

Unlinks the collection from the object it was linked to.

    <void>ParamCollectorOps.doPutToObjectDialog()

Opens the "Put To Object" dialog.

Putting to object stores the current collection as part of the object in the scene.

Although parameter collections are stored with the scene in which they're created, you can use this function to transfer a collection to a different scene. After putting the collection to an object, save the scene. Open or create another scene, merge the object from the saved scene to the new one, and then use Get from Object.

You can also back up, organize and streamline parameter collections by putting and getting different collections to and from various objects in your scene. Just remember that if you add, reorder, or remove parameters or rollouts to a collection that has been put to an object, you must then put it to the object again so the changes are saved to the collection. For a "live" update, see Linking to objects described above.

    <void>ParamCollectorOps.doGetFromObjectDialog()

Opens the "Get from Object" dialog to retrieve a collection stored in an object using either Put To Object or Link To Object.

    <void>ParamCollectorOps.putToObject <node>node

Puts the collection to the specified node. See above for details on putting collections to scene objects.

    <void>ParamCollectorOps.getFromObject <node>node

Gets a put or linked collection from the specified node. See above for details.

    <void>ParamCollectorOps.doAddToSelectedDialog()

Corresponds to pressing the "Add To Selected" icon and opens the Track View Pick dialog to add tracks to the selected rollout.

    <void>ParamCollectorOps.doAddDialog()

Corresponds to pressing the "Add to New Rollout" icon and opens the Track View Pick dialog to add tracks to a new rollout.

    <void>ParamCollectorOps.deleteSelectedParameters()

Deletes the selected parameters. Corresponds to pressing the "Delete Selected" icon.

    <void>ParamCollectorOps.deleteAllParameters()

Deletes all parameters. Corresponds to pressing the "Delete All" icon.

    <void>ParamCollectorOps.addNewRollout <string>name <bool>addSelectedParameters

Adds a new rollout with the given name.

If .addSelectedParameters is true, any selected parameters from existing rollouts will be added to the new rollout, too. If false, no parameters will be added to the new rollout.

    <void>ParamCollectorOps.deleteRollout <index>index

Removes the indexed rollout.

    <void>ParamCollectorOps.deleteRolloutMoveUp <index>index

Deletes the indexed rollout and moves all parameters from the deleted rollout to the previous rollout.

    <void>ParamCollectorOps.deleteRolloutMoveDown <index>index

Deletes the indexed rollout and moves all parameters from the deleted rollout to the next rollout.

    <void>ParamCollectorOps.DoRenameRolloutDialog()

Opens the Rename Rollout dialog for the selected rollout.

    <void>ParamCollectorOps.RenameRollout <index>index <string>name

Renames the indexed rollout to the given name.

    <bool>ParamCollectorOps.isRolloutSelected()

Returns true if there is a selected rollout.

    <index>ParamCollectorOps.getSelectedRollout()

Returns the index of the selected rollout.

    <integer>ParamCollectorOps.numRollouts <index>collectionIndex

Returns the number of rollouts in the indexed Collection.

    <void>ParamCollectorOps.setRolloutName <index>collectionIndex <index>rolloutIndex <string>name

Sets the rollout name of the indexed rollout in the indexed collection to the given string.

    <string>ParamCollectorOps.getRolloutName <index>collectionIndex <index>rolloutIndex

Returns the the rollout name of the indexed rollout in the indexed collection as a string value.

    <integer>ParamCollectorOps.getNumParameters <index>collectionIndex <index>rolloutIndex

Returns the number of parameters in the indexed rollout of the indexed collection as integer value.

    <bool>ParamCollectorOps.anyParameters()

Returns true if there are any parameters, false otherwise.

    <bool>ParamCollectorOps.anySelected()

Returns true if there are any selected parameters, false otherwise.

    <integer>ParamCollectorOps.numSelected()

Returns the number of selected parameters as integer value.

    <void>ParamCollectorOps.selectAll()

Selects all parameters.

    <void>ParamCollectorOps.selectAllRollout()

Select all parameters in the selected rollout.

    <void>ParamCollectorOps.selectNone()

Deselects all parameters.

    <void>ParamCollectorOps.selectInvert()

Invert the parameter selection.

    <bool>ParamCollectorOps.addParameterBySubNum <fpvalue>animOwner <index>subNum <index>collectionIndex <index>rolloutIndex <string>name

Add the indexed subAnim of the given animOwner to the indexed rollout of the indexed collection using the supplied name.

    <void>ParamCollectorOps.moveSelectedParameters <enum>type

    type enums: {#moveUp|#moveDown|#moveUpRollout|#moveDownRollout}

Move the selected parameters in the specified direction.

    <void>ParamCollectorOps.keyParameters <bool>selectedOnly

Set key for all parameters. If selectedOnly is true, only selected parameters will be keyed.

    <void>ParamCollectorOps.resetParameters <bool>selectedOnly

Reset all parameters. If selectedOnly is true, only selected parameters will be reset.

    <bool>ParamCollectorOps.addParameter <fpvalue>anim <index>collectionIndex <index>rolloutIndex

Add the specified anim parameter to the indexed rollout of the indexed collection.

    <integer>ParamCollectorOps.getParameterIndex <index>collectionIndex <index>rolloutIndex <index>paramIndexInRollout

Returns the index of the indexed parameter from the indexed rollout of the indexed collection.

    <maxObject>ParamCollectorOps.getParameterParentAnim <index>paramIndex

Returns the parent track of the indexed parameter

    <integer>ParamCollectorOps.getParameterSubAnimNum <index>paramIndex

Returns the index of the indexed parameter's subAnim inside the parent track.

FOR EXAMPLE:
    --Create a Box, collect its Length, Width and Height parameters.
    --Get the index of the first parameter in the first rollout
    --of the first collection(in the above case this is the Length param):
    theIndex = ParamCollectorOps.getParameterIndex 1 1 1
    --> 1
    --Get the parent track of the parameter:
    theParent = ParamCollectorOps.getParameterParentAnim theIndex
    --> ReferenceTarget:ParamBlock
    --Get the subAnim index of the parameter inside the parent:
    theSubNum = ParamCollectorOps.getParameterSubAnimNum theIndex
    --> 1
    --Get the parameter's subAnim
    theSubnim = theParent[theSubNum]
    --> SubAnim:Length
    --Get the value of the parameter
    theValue = theSubnim.value
    --> 25.0
    --Set the value of the parameterto 10
    theSubnim.value = 10
    --> 10

    <maxObject>ParamCollectorOps.getParameterAnim <index>paramIndex

Returns the animation controller object of the indexed parameter.

Note

If the parameter is not animated (and does not have a controller assigned), this method will return undefined.

FOR EXAMPLE:
    --Using the same Box and Collection from the above example,
    --if you try to access the Length parameter's animation controller,
    --you will get undefined by default:
    theIndex = ParamCollectorOps.getParameterIndex 1 1 1
    --> 1
    ParamCollectorOps.getParameterAnim theIndex
    --> undefined
    --Animate the Length of the Box over time and try again:
    with animate on at time 100 $Box01.length = 100
    --> 100
    ParamCollectorOps.getParameterAnim theIndex
    --> Controller:Bezier_Float

    <void>ParamCollectorOps.setParameterNotesTitle <index>paramIndex <string>text

Set the title of the notes of the the indexed parameter to the given string

    <string>ParamCollectorOps.getParameterNotesTitle <index>paramIndex

Returns the title of the notes of the the indexed parameter as string

    <void>ParamCollectorOps.setParameterNotesNotes <index>paramIndex <string>text

Sets the notes text of the indexed parameter to the given string

    <string>ParamCollectorOps.getParameterNotesNotes <index>paramIndex

Returns the notes text of the indexed parameter as string

    <void>ParamCollectorOps.setParameterNotesURL <index>paramIndex <string>text

Sets the notes URL of the indexed parameter to the given string

    <string>ParamCollectorOps.getParameterNotesURL <index>paramIndex

Returns the notes URL of the indexed parameter as string

    <void>ParamCollectorOps.doEditNotesDialog()

Opens the Edit Notes dialog

    <void>ParamCollectorOps.refresh()

Refreshes the Paremter Collector.

    <integer>ParamCollectorOps.getNumParametersInCollection <index>collectionIndex

Returns the number of parameters in the indexed collection.

    <int by value array>ParamCollectorOps.getSelectedParameters <index>collectionIndex

Returns an array of the selected parameters in the indexed collection.

    <void>ParamCollectorOps.doRemoveFromObjectDialog()

Opens the Remove From Object dialog. Used to remove collections put or linked to objects as described earlier on this page.

    <void>ParamCollectorOps.removeFromObject <node>node

Removes the collection from the specified node. Used to remove collections put or linked to objects as described earlier on this page.

    <integer>ParamCollectorOps.getNumSelectedParameters <index>collectionIndex <index>rolloutIndex

Returns the number of selected parameters in the indexed rollout of the indexed collection.

    <bool>ParamCollectorOps.anyRollouts()

Returns true if there are any rollouts in the current collection, false otherwise

    <bool>ParamCollectorOps.addParameterTraverse <fpvalue>anim <bool>addChildren <index>collectionIndex <index>rolloutIndex <string>name

Adds multiple parameters to the indexed rollout of the indexed collection by traversing the subAnim hierarchy of the given anim object.

    <void>ParamCollectorOps.setParameterSelected <index>paramIndex <bool>selected

Sets the selected state of the indexed parameter to the given boolean value.

    <bool>ParamCollectorOps.getParameterSelected <index>paramIndex

Returns the selected state of the indexed parameter as boolean value.

    <node by value array>ParamCollectorOps.getParameterNodes <index>paramIndex

Returns an array of the nodes affected by the indexed parameter.

#### See Also

- Other Interfaces