OpenMaya API では 10 個のベース マニピュレータ クラスがサポートされており、これを組み合わせると複合マニピュレータを形成できます。
以下は、ベース マニピュレータ、および対応する C++ 関数セットのリストです。
FreePointTriadManip は、どこにでも移動できる可動ポイントを提供します。コンストレインされた X 移動、Y 移動、Z 移動の軸があり、グリッド スナップ、ポイント スナップ、カーブ スナップに従います。FreePointTriadManip では、ポイントの 3D 位置が生成されます。オブジェクトの位置を空間内で指定する場合に便利です。
DirectionManip を使用して、スタート ポイントからマニピュレータの位置までのベクトルで定義されるように、方向を指定します。FreePointTriadManip を使用し、特定開始ポイントに関連するベクトルの終了ポイントを指定します。このマニピュレータでは、開始ポイントから終了ポイントまでのベクトルが生成されます。
DistanceManip を使用して、ラインに沿って移動するようにコンストレインされたポイントを操作します。距離の値は、ラインの開始ポイントから操作されるポイントまでから計算されます。このマニピュレータでは、1 つの浮動小数点値が生成されます。スケーリング ファクタを使用すると、マニピュレータが描画された場合に表示される時間を決めることができます。
PointOnCurveManip を使用して、カーブに沿って移動するようにコンストレインされたポイントを操作し、「u」カーブ パラメータ値を指定します。このマニピュレータでは、カーブ パラメータに対応する、1 つの浮動小数点値が生成されます。
PointOnSurfaceManip を使用して、サーフェスに沿って移動するようにコンストレインされたポイントを操作し、(u、v)サーフェス パラメータ値を指定します。このマニピュレータでは、サーフェス(u、v)パラメータに対応する、2 つの浮動小数点値が生成されます。
CircleSweepManip を使用して、円の周囲を移動するようにコンストレインされたポイントを操作して、スイープ角度を指定します。このマニピュレータでは、スイープ角度に対応する、1 つの浮動小数点値が生成されます。
ToggleManip を使用して、2 つのモード間または 3 つ以上のモードのオン/オフの状態を切り替えます。点を含む円か点を含まない円として描画されます。モードがオンになっている場合は、円に点が描画されます。モードがオフの場合は、円は点を含まずに描画されます。このマニピュレータでは、モードがオンであるかオフであるかに対応する論理値が生成されます。
StateManip を使用して複数の状態を切り替えます。突起のついた円として描画されます。円をクリックするたびに、状態の値が上がります(状態の最大数までの除算)。このマニピュレータでは、マニピュレータの状態に対応する整数値が生成されます。
CurveSegmentManip を使用してカーブ上の 2 つのポイントを操作し、カーブ セグメントを指定します。このマニピュレータでは、カーブ セグメントの先頭と末尾のパラメータに対応する、2 つの浮動小数点値が生成されます。
RotateManip では 3D の回転ベクトルを操作することができます。これは、組み込みの回転マニピュレータ(オブジェクト スペース、グローバル、ジンバル)の 3 回転モードをサポートしており、X、Y、Z および表示軸上のコンストレイン回転が可能です。マニピュレータで生成されるベクトルはオイラー回転(Euler Rotate)で、これは回転プラグへの入力に適しています。
ScaleManip により、x、y および z のスケーリング値を相対的に操作することができます。スケール マニピュレータは、各軸上の不均等スケーリング用の X、Y、および Z 軸ハンドルだけでなく、均等スケーリング用の中央ハンドルも提供します。マニピュレータで生成されるベクトルは相対的なスケーリング ベクトルで、スケール プラグへの入力に適しています。