The NodeExposureInterface structure provides methods to create a INodeExposureR Interface for a given node and get an existing interface from a node.
The Node Exposure Interface can be used to define the exposure of a scene node to various areas of the 3ds Max User Interface. By default, all scene nodes are visible to all areas of the 3ds Max UI, but by creating a Node Exposure Interface and changing the exposure settings in it, a node could be excluded from sub-systems like the Select By Name dialog, the Schematic View and the Track View.
Available in 3ds Max 2008 and higher. Previously available in the Avguard Extensions.
Methods:
<INodeExposureR Interface>NodeExposureInterface.Create <node>
Creates the node exposure interface if not already present, and returns the INodeExposureR Interface value.
<INodeExposureR Interface>NodeExposureInterface.Get <node>
Returns the node exposure interface if already created, otherwise returns 'undefined'
Both methods return a Function Published Interface value:
Interface: INodeExposureR
Methods:
<boolean><INodeExposureR>.isExposed <integer>ui
Returns true if the the node is exposed to the UI sub-system corresponding to the 0-based index.
Possible values for 'ui' are:
0 - SelectObjects (Select By Name dialog)
1 - SchematicView
2 - Maxscript -- currently unsupported
3 - Merge -- currently unsupported
4 - MergeAnimation -- currently unsupported
5 - Replace -- currently unsupported
6 - KeyEditor
7 - CurveEditor
8 - RangeEditor
9 - Updates -- removes the node from participating in scene updates
As noted above, values 2 through 5 currently have no affect!
<void><INodeExposureR>.SetExposedInAll <boolean>state
This method sets all node exposures to the given Boolean value.
If the argument is false
, the node will be excluded from all UI areas of exposure.
If the argument is true
, the node will be exposed to all UI sub-systems.
The Updates
flag is not set by this function. It must be set using SetExposed()
.
<void><INodeExposureR>.SetExposed <boolean>state <integer>ui
This method sets the node exposure for the specific UI area defined by the second argument to the Boolean value defined by the first argument.
FOR EXAMPLE:
theNode = Sphere()
theInterface = NodeExposureInterface.Create theNode
theInterface.SetExposed false 0
will make the newly created sphere invisible to the Select By Name dialog.
<void><INodeExposureR>.BakeExposure()
See 'Class INodeExposure' in the SDK help file for more information on this interface.