API ガイド > シェイプ >

# デフォーマ

Maya のデフォーマは、制御点アトリビュートにコンポーネントが定義されている、制御点ベースのシェイプで動作します。

Maya のデフォメーションをサポートするには、以下を提供する必要があります。

- ジオメトリをカプセル化する MPxGeometryData 派生クラス
- localShapeInAttr 関数
- localShapeOutAttr 関数
- worldShapeOutAttr 関数
- ジオメトリの MPxGeometryIterator
- match 関数
- createFullVertexGroup 関数
- geometryData 関数

MPxGeometryData

デフォーマを動作させるには、ジオメトリをカプセル化するジオメトリ データ クラスを提供する必要があります。

localShapeInAttr

この関数をオーバーライドして、シェイプの入力ヒストリに対応するアトリビュートを返す必要があります。このアトリビュートは、ジオメトリ データと同じ型である必要があります。

localShapeOutAttr

この関数をオーバーライドして、シェイプの出力ジオメトリを表すアトリビュートを返す必要があります。このアトリビュートは、ジオメトリ データと同じ型である必要があります。

worldShapeOutAttr

この関数をオーバーライドして、シェイプの出力ジオメトリのインスタンスを表す出力配列アトリビュートを返す必要があります。このアトリビュートは、ジオメトリ データと同じ型である必要があります。配列のそれぞれの要素は、特定のインスタンス シェイプを表します。

MPxGeometryIterator

デフォーマは、定義されて実装されたイテレータを通してポイントを操作します。

match

この関数をオーバーライドして、セレクション タイプ/コンポーネント リストと、このシェイプのタイプ/コンポーネントが一致するかどうかチェックする必要があります。セットとデフォーマがこれを使用し、選択されたコンポーネントが「頂点のみ」のカテゴリに分類されることを確認します。

createFullVertexGroup

Maya が、シェイプ内のすべての頂点(制御点)を含むコンポーネントを作成する必要がある場合に、このメソッドを使用します。オブジェクト モードでシェイプを選択してデフォーマを追加するというように、シェイプ全体にデフォーマを適用する場合にコールされます。

geometryData

この関数では、サーフェスの入力データ オブジェクトを返す必要があります。Maya が、シェイプのグループ(セット)情報を取得するために内部的にコールします。