NodeExposureInterface 構造体は、指定されたノードに INodeExposureR インタフェース を作成したり、ノードから既存のインタフェースを取得したりするためのメソッドを提供します。
NodeExposureInterface は、3ds Max ユーザ インタフェースのさまざまな領域に対してシーン ノードの公開を定義する目的で使用されます。 既定値では、すべてのシーン ノードは 3ds Max UI のすべての領域に対して可視ですが、Node Exposure インタフェースを作成し、その内部の公開設定を変更することによって、名前による選択、スケマティク ビュー、トラック ビューなどのサブシステムからこのノードを除外することができます。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
メソッド:
<INodeExposureR Interface>NodeExposureInterface.Create <node>
ノード公開インタフェースがまだ存在しない場合は作成し、INodeExposureR インタフェースの値を返します。
<INodeExposureR Interface>NodeExposureInterface.Get <node>
ノード公開インタフェースがすでに作成されている場合はノード公開インタフェースを返し、作成されていない場合は「undefined」を返します。
両メソッドは 関数公開インタフェースを返します:
Interface: INodeExposureR
メソッド:
<boolean><INodeExposureR>.isExposed <integer>ui
ノードが、インデックス(基数は 0)に対応する UI サブシステムに公開されている場合は true を返します。
「ui」の有効な値は次のとおりです。
0 - SelectObjects([名前による選択]ダイアログ ボックス)
1 - SchematicView(スケマティク ビュー)
2 - Maxscript -- 現在はサポートされていません
3 - Merge -- 現在はサポートされていません
4 - MergeAnimation -- 現在はサポートされていません
5 - Replace -- 現在はサポートされていません
6 - KeyEditor
7 - CurveEditor
8 - RangeEditor
9 - Updates -- シーンの更新に参加するノードを削除します。
注意書きにあるとおり、2 から 5 までの値は現時点では使用できません。
<void><INodeExposureR>.SetExposedInAll <boolean>state
このメソッドは、すべてのノードの公開状態を指定されたブール値に設定します。
引数が false
である場合は、ノードは公開されているすべての UI 領域から除外されます。
引数が true
である場合は、ノードはすべての UI サブシステムに公開されます。
この関数では、Updates
フラグは設定されません。SetExposed()
を使用して設定する必要があります。
<void><INodeExposureR>.SetExposed <boolean>state <integer>ui
このメソッドは、2 つ目の引数によって定義される特定の UI 領域に対するノードの公開状態を、1 つ目の引数によって定義されるブール値に設定します。
例:
theNode = Sphere()
theInterface = NodeExposureInterface.Create theNode
theInterface.SetExposed false 0
新しく作成される球を[名前による選択]ダイアログ ボックスに対して不可視にします。
<void><INodeExposureR>.BakeExposure()
このインタフェースの詳細は、SDK ヘルプ ファイルの「Class INodeExposure」を参照してください。