インタフェース: IsolatedVertices
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 = #() --we need an array to store the results in
--> #()
--We call the method by passing the time to check at,
--the object to check and the by-reference array to store
--the results in. The return result of the method itself
--will be #vertex because the method operates on vertices
--and the content of theResults array should be threated
--as vertex indices:
resultType = IsolatedVertices.Check currentTime thePlane &theResults
--> #vertex
--If we would print out the content of the array variable,
--it will contain the indices of the isolated vertices:
theResults
--> #(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
|