インタフェース > コア インタフェース > xViewChecker |
xViewChecker コア インタフェースは、xView ジオメトリ チェッカー機能と相互作用するためのプロパティとメソッドを公開しています。3ds Max 2010 以降で使用可能です。
アクティブな xView チェッカーのインデックスを取得/設定します。
xView チェッカーの[シースルー](See-Through)オプションの状態を取得/設定します。
xView チェッカーの[自動更新](Auto Update)オプションの状態を取得/設定します。true に設定すると、チェック結果の xView が自動的に更新されます。
xView チェッカーの[ビューの上段に表示](Display On Top)オプションを取得/設定します。
インデックスで指定された xView チェッカーの名前を返します。
インデックスで指定された xView チェッカーの ID を返します。
指定された ID を持つ xView チェッカーをアクティブにします。チェック機能がアクティブである場合、このxView チェッカーがアクティブなチェッカーになります。
インデックスで指定された xView チェッカーにプロパティ ダイアログ ボックスがある場合は true、ない場合は false を返します。
インデックスで指定された xView チェッカーのプロパティ ダイアログ ボックスを表示します。インデックスの基数は ゼロです。
xView チェッカーのポップアップ メニューを現在のマウス位置に開きます。
指定された時間の結果を選択します。これにより、チェッカーの結果に基づいて、チェックされたジオメトリ オブジェクトの頂点、エッジ、または面の選択が設定されます。
<enum>xViewChecker.getCurrentReturnVal() getCurrentReturnVal enums: {#Failed|#Vertices|#Edges|#Faces}
現在のチェッカーの戻り値を取得します。これは、チェックの失敗、もしくはチェックが成功した頂点、エッジ、または面に対応する、4 つの名前値のいずれかです。
現在の出力カウントを返します。現在のチェッカーが検索条件に従って検出した、サブオブジェクト要素(頂点、エッジ、または面)の数です。
チェッカーによってビューポート上部の中央に表示されている現在の文字列を返します。このメソッドは、チェッカーの結果をログ記録したり、UI の別の場所に結果を表示したりする目的で使用できます。
以下の関数を使用すると、付属のチェッカーリストにはないユーザ定義の xView チェッカーを実装するための、カスタム MAXScript 関数を登録できます。また、チェッカーを実行して結果を表示し、そのチェッカーを登録解除することもできます。
MAXScript を使用して新しい xView チェッカーを 登録すると、その新しいチェッカーは、別のチェッカーがアクティブである場合にビューポートの下部のチェッカーリ ストに表示されます。3ds Max メニュー システムにアクション項目として xView チェッカーを公開する通常のマクロ スクリプトが表示されるビューポート メニューには自動的には表示 されません。
メニュー システムにカスタム xView を公開する新しいマクロ スクリプトを定義し、これを手動または MAXScript で xView のメニューに追加する必要があります。詳細については、チュートリアル第 4 部を参照してください。
指定された名前を持つカスタム xView チェッカーを登録解除します。
<index>xViewChecker.registerChecker <value>checkerFunc <value>isSupportedFunc <enum>type <string>name <value>popupDlgFunc <value>textOverrideFunc <value>displayOverrideFunc type enums: {#Failed|#Vertices|#Edges|#Faces}
カスタムの MAXScript 関数を使用して xView チェッカーを登録します。関数が特定のチェッカーに合わない場合(たとえば、表示の上書きやテキストの上書きが求められていない場合など)、代わりに値 undefined を引数として渡します。これにより、チェッカーは各機能を無視します。
チェックを実行するために呼び出されるカスタムの MAXScript 関数です。
この関数は、チェックを実行する時間、チェック対象のノード、結果を格納するための参照配列の 3 つの引数を必要とします。配列は空で渡され、その配列にフラグの設定対象とみなされたサブオブジェクト要素のインデックスを追加するコードを実装するかどうかは関数のライターに委ねられます。次に、表示関数(既定値のものか、MAXScript displayOverride 関数)がこの配列を使用して、配列内のインデックスで指定されたサブオブジェクトのハイライト表示または選択を行います。
選択されているノードがテスト可能かどうかを判定するために呼び出されるカスタムの MAXScript 関数です。ノードにテストを適用できる場合は true、適用できない場合には false を返します。
このチェッカー用のカスタム セットアップ ダイアログ ボックスを実装できるカスタム MAXScript 関数です。MAXScript 関数の代わりに undefined を渡すと、そのチェッカーにはダイアログ ボタンが表示されません。引数は受け取らず、特定の値も返しません。
代替の表示モードを実装できるカスタム MAXScript 関数です。MAXScript 関数の代わりに undefined を渡すと、代わりにジオメトリ チェッカー システムの既定値の表示メソッドが使用されます。
この関数は、時間、ノード、アクティブ ビューポートのウィンドウ ハンドル、チェッカーによって生成された結果配列の 4 つの引数を必要とします。
この関数は、ほぼ同じ引数を使用する以下のメソッドを呼び出すことができます。
<void>xViewChecker.displayResults <color>color <time>time <node>node <HWND>hwnd <enum>type <&index array>results type enums: {#Failed|#Vertices|#Edges|#Faces} results is In and Out parameter
現在のチェッカーの結果を表示します。このメソッドをカスタム displayOverride 関数内で使用すると、既定値のチェッカー表示の外観を変更できます。たとえば、使用するカラーやハイライト表示するサブオブジェクト要素を変更できます。
表示するサブオブジェクトの参照配列です。インデックスの基数は 1 です。通常これは、ジオメトリ チェッカー MAXScript 関数によって作成された結果配列です。
現在時刻で、xView チェックを実行します。チェックを実行して表示を更新する際に使用します。
これらのメソッドの実践的な使用例については、以下のチュートリアルを参照してください。
チュートリアル - 面領域 xView チェッカーの開発 - 第 1 部
チュートリアル - 面領域 xView チェッカーの開発 - 第 2 部