The Track View Pick dialog displays the hierarchy for the 3ds Max scene in a manner similar to what is seen in Track View. The user can select one or more items from this dialog. The following method displays the Track View Pick dialog:
trackView.pickTrackDlg [#multiple][<filter function>] [options:<integer>]
This method brings up the Track View Pick dialog and returns a TrackViewPick value when the user selects a track and clicks "Ok", or undefined
if the user clicks "Cancel".
If the optional argument #multiple
is passed, multiple tracks can be picked in the dialog and an array of TrackViewPick values is returned instead of a single value.
If the optional filter_function
is supplied, each track is passed to the function as a TrackViewPick value. If the function returns true, the track is selectable in the Track View Pick dialog.
If the optional keyword argument options
: is specified, the bits of the integer value define what is shown in the Track View Pick dialog.
The bits are:
1: turn on display of animated tracks only
2: turn off display of node Visibility track
3: turn on display of only selected nodes
4: turn off display of World Space Modifiers
5: turn off display of Object Space Modifiers
6: turn off display of node Transform track
7: turn off display of node base object
8: turn off display of controller types
9: turn off display of note tracks
10: turn off display of the sound track
11: turn off display of maps in materials
12: turn off display of material parameters
13: turn on display of hidden nodes
14: turn off display of hierarchy
15: turn off display of non-keyable tracks
16: turn off display of nodes
17: turn off display of geometry nodes
18: turn off display of shape nodes
19: turn off display of light nodes
20: turn off display of camera nodes
21: turn off display of helper nodes
22: turn off display of warp nodes
23: turn off display of position controllers
24: turn off display of rotation controllers
25: turn off display of scale controllers
26: turn off display of bone nodes
27: set focus to first selected node found
EXAMPLE:
theInt = 0 theInt = bit.set theInt 1 true --animated tracks only theInt = bit.set theInt 3 true --display selected nodes only theInt = bit.set theInt 10 true --hide sound track theTrack = trackView.pickTrackDlg options:theInt --open dialog
You can also use the following function to turn a bitarray into an integer with bits set according to the flags described above. The resulting integer can be passed to the named
options
: parameter:fn bitArrayToInt theBitArray = ( local theInt = 0 for i in theBitArray do theInt = bit.set theInt i true theInt ) theInt =bitArrayToInt #{1,3,10} theTrack = trackView.pickTrackDlg options:theInt
Instances of the TrackViewPick class store the result of a selection from the Track View Pick dialog. A TrackViewPick value has the following properties:
<trackViewPick>.name : string
The name of the picked item as shown in the Track View Pick dialog.
<trackViewPick>.anim : subAnim
The subAnim for the item the user picked.
<trackViewPick>.client : MAXWrapper
The owner of the subAnim for the item the user picked. If the owner is a subclass of MAXWrapper, the MAXWrapper value for the owner is returned. Otherwise, a value of undefined
is returned.
<trackViewPick>.subNum: integer
The subAnim index for anim
in client
.
FOR EXAMPLE:
-- Create a sphere, apply a bend modifier and execute: s=sphere() b=bend() addmodifier $Sphere001 b tvp=trackview.pickTrackDlg() -- pick objects->Sphere01->Modified object->Bend->Angle tvp.anim -- returns SubAnim:Angle tvp.client -- returns Bend:Bend tvp.subNum -- returns 3 tvp.name -- returns "Angle" tvp.client[tvp.subNum] -- returns SubAnim:Angle