モデラーさん向けmelToolの開発中、ポリゴンの境界を検出するmelを探していたところ、
Mayaにあらかじめ実装されているプロシージャーで、以下のようなものを見つけました。
polySelectBorderShell(int $borderOnly)
さっと中身を呼んだところ、
これは、すでに選択されているエッジのうち、境界であるものを残して選択する...
というようなプロシージャーのようです。
ポリゴンの境界を検出する際、
あらかじめすべてのエッジを選択しておいて、上記のプロシージャーを走らせれば、
簡単にポリゴン境界を検出できそうです。
これはモデリング作業のとき、ポリゴンマージの漏れなどチェックするときに便利かも??
以下、サンプルソースでありんす。
proc SELECT_BORDER_EDGE(){
string $NODE_NAME;
string $NODE_LIST[] = `ls -sl`;
if(size($NODE_LIST)<1){
error "ポリゴンノードを二つ以上選んでね。";
}
else{
select -cl;
for($NODE_NAME in $NODE_LIST){
//ポリゴンの末端のエッジを選択
select -add ($NODE_NAME + ".e[*:*]") ;
}
polySelectBorderShell(1);
}
}
SELECT_BORDER_EDGE;