API ガイド > API で選択する >

# setObject() メソッド

MFnDagNode の setObject() メソッドは、MFnBase のすべての関数セットに継承されます。これは、関数セットが動作するオブジェクトを設定します。通常は関数セットのコンストラクタでこれを実行しますが、関数セットがすでに存在していてオブジェクトを変更する場合には setObject() を使用します。これは、関数セットが必要になるたびに作成と破棄を繰り返すより能率的です。

例

まず CV をいくつか選択してからプラグインをコールします。CV の名前が出力される代わりに、親オブジェクト(カーブ、サーフェス、メッシュ)の名前が出力されます。選択したオブジェクトの数が、出力された名前の数と一致しないことにも注意してください。

Maya の選択アーキテクチャでは、CV などのオブジェクト コンポーネントの選択が単純になっています。それぞれのコンポーネント オブジェクト(たとえば CV など)をセレクション リストに載せる代わりに、親オブジェクトをリストに載せ、コンポーネントがグループ化されています。

このため、nurbSphereShape1 の複数の CV を選択すると、単純なプラグイン サンプルの list.getDagPath() コールによって MDagPath が nurbSphereShape1 に返され、MObject によって、選択したすべての CV がグループ化されます。MDagPath と MObject は MItSurfaceCV イテレータに渡され、選択した CV が審査されます。

1 つのオブジェクトのみのいくつかのコンポーネントを選択すると、そのオブジェクトはセレクション リストに 1 回だけ表示されます。あるオブジェクトのコンポーネントを選択して別のオブジェクトのコンポーネントを選択してから最初のオブジェクトのコンポーネントをさらに選択すると、最初のオブジェクトはセレクション リストに 2 回表示されます。これにより、オブジェクトを選択した順序を判断できます。