IsolatedVertices コア インタフェースは、孤立頂点の xView チェッカーと対話するためのメソッドを公開しています。
3ds Max 2010 以降 で使用可能です。
プロパティ:
プロパティは公開していません。
メソッド:
<enum>IsolatedVertices.Check <time>time <node>nodeToCheck <&index array>results
Check enums: { #Failed | #Vertices | #Edges | #Faces}
results is In and Out parameter
孤立頂点の xView チェックを、指定された時間に指定されたノードに対して実行し、その結果を 3 番目の引数として参照渡しされた配列に返します。
このメソッド自体は
常に
#vertex
enum を返します。これは、孤立頂点のチェックでは頂点だけがチェックされ、結果配列に書き込まれる値は常に孤立した頂点のインデックスを表しているためです。
<bool>IsolatedVertices.hasPropertyDlg()
xView チェッカーがプロパティ ダイアログ ボックスを実装している場合は true、実装していない場合は false を返します。
孤立頂点のチェッカーでは、常に false が返されます。
<void>IsolatedVertices.showPropertyDlg()
実装されている場合は、xView チェッカーのプロパティ ダイアログ ボックスを表示します。
孤立頂点のチェッカーでは、このメソッドは 何もしません。
例:
|
以下のコードでは、10x10 のセグメントを持つ平面を作成し、これを編集可能メッシュに集約した後、先頭の 20 個の面、つまり四辺形の 1 行全体を削除しています。これにより、外側に孤立した頂点が残ります。
|
thePlane = plane width:100 length:100 widthsegs:10 lengthsegs:10
--> $Plane:Plane01 @ [0.000000,0.000000,0.000000]
convertToMesh thePlane
--> $Editable_Mesh:Plane01 @ [0.000000,0.000000,0.000000]
meshop.deleteFaces thePlane #{1..20} delIsoVerts:false
--> OK
|
|
次の IsolatedVertices.check() メソッドの呼び出しでは、孤立した頂点が返されます。ビューポートで孤立頂点チェッカーがアクティブになっている必要はありません。これは、MAXScript コード内で、孤立した頂点のインデックスを配列に取得するのに使用できます。
|
theResults = #() --結果を格納する配列が必要です。
--> #()
--チェックする時間、チェックするオブジェクト、および結果を
--格納するための参照配列を渡すことにより、
--メソッドを呼び出します。メソッド自体から返された結果は
--#vertex になります。これは、メソッドは頂点に対して動作し、
--theResults 配列の内容はエッジのインデックスとして
--扱われるためです。
resultType = IsolatedVertices.Check currentTime thePlane &theResults
--> #vertex
--配列変数の内容を出力すると、
--以下の孤立した頂点のインデックスが含まれているはずです。
theResults
--> #(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
|