ベース マニピュレータは、単純なマニピュレータのセットです。1 つのブール、整数、または浮動小数点値から、さまざまな長さの浮動小数点値のベクトルにいたるデータ型で動作します。
OpenMaya API では次のベース マニピュレータ クラスがサポートされており、これを組み合わせると複合マニピュレータを形成できます。ベース マニピュレータのすべての関数セットは、MFnManip3D クラスから派生されます。
関数セット クラスは、対応する create() 関数とともにベース マニピュレータを作成するためや、ベース マニピュレータのいくつかのプロパティを設定するために使用されます。関数セット クラスは、マニピュレータの表示コントロールの値と、ノードのアトリビュート(プラグ)の値に、関係を設定するためにも使用されます。関数セット クラスでは、アトリビュート(プラグ)と通信し、表示コントロールの値に基づいて値を設定します。
FreePointTriadManip は、任意の場所に移動できるポイントを提供します。コンストレインされた X 移動、Y 移動、Z 移動の軸があり、グリッド スナップ、ポイント スナップ、カーブ スナップに従います。
FreePointTriadManip は、ポイントの 3D 位置を生成します。これは、空間内のオブジェクトの位置を指定する場合に便利です。
MFnFreePointTriadManip クラスは、マニピュレータを作成してマニピュレータのプロパティを設定するために使用できます。たとえば、MFnFreePointTriadManip::setDrawAxes() は、軸を描画するかどうかを設定するために使用でき、MFnFreePointTriadManip::setSnapMode() は、スナップ モードを使用するかどうかを設定するために使用できます。
DirectionManip を使用すると、開始ポイントからマニピュレータの位置までのベクトルで定義される方向を指定できます。FreePointTriadManip を使用し、特定の開始ポイントとの相対で、ベクトルの終了ポイントを指定します。このマニピュレータでは、開始ポイントから終了ポイントまでのベクトルが生成されます。
MFnDirectionManip クラスは、マニピュレータを作成してマニピュレータのプロパティを設定するために使用できます。
DistanceManip を使用すると、ラインに沿って移動するようにコンストレイントされたポイントを操作できます。距離の値は、ラインの開始ポイントから操作されるポイントまでから計算されます。このマニピュレータでは、1 つの浮動小数点値が生成されます。スケーリング ファクタを使用すると、マニピュレータが描画された場合に表示される時間を決めることができます。
DistanceManip の API クラスは、MFnDistanceManip です。
PointOnCurveManip を使用すると、カーブに沿って移動するようにコンストレイントされたポイントを操作でき、カーブのパラメータ値 u を指定できます。このマニピュレータでは、カーブ パラメータに対応する、1 つの浮動小数点値が生成されます。
PointOnCurveManip の API クラスは MFnPointOnCurveManip です。
PointOnSurfaceManip を使用すると、サーフェスに沿って移動するようにコンストレイントされたポイントを操作でき、サーフェスのパラメータ値(u、v)を指定できます。このマニピュレータでは、サーフェス(u、v)パラメータに対応する、2 つの浮動小数点値が生成されます。
PointOnSurfaceManip の API クラスは MFnPointOnSurfaceManip です。
DiscManip を使用すると、ディスクを回転して、軸の 1 つに対する回転を指定できます。このマニピュレータでは、回転に対応する、1 つの浮動小数点値が生成されます。
DiscManip の API クラスは MFnDiscManip です。
CircleSweepManip を使用すると、円の周囲を移動するようにコンストレイントされたポイントを操作でき、スイープ角度を指定できます。このマニピュレータでは、スイープ角度に対応する、1 つの浮動小数点値が生成されます。CircleSweepManip は DiscManip に似ていますが、回転の角度を指定するための多くのオプションがあります。
CircleSweepManip の API クラスは MFnCircleSweepManip です。
ToggleManip を使用すると、2 つのモード間または状態のオン/オフを切り替えることができます。点を含む円か点を含まない円として描画されます。モードがオンになっている場合は、円に点が描画されます。モードがオフの場合は、円は点を含まずに描画されます。このマニピュレータでは、モードがオンであるかオフであるかに対応する論理値が生成されます。
ToggleManip の API クラスは MFnToggleManip です。
StateManip を使用すると複数の状態を切り替えることができます。突起のついた円として描画されます。円をクリックするたびに、状態の値が増分されます。このマニピュレータでは、マニピュレータの状態に対応する整数値が生成されます。
StateManip の API クラスは MFnStateManip です。
CurveSegmentManip を使用すると、カーブ上の 2 つのポイントを操作して、カーブ セグメントを指定できます。このマニピュレータでは、カーブ セグメントの先頭と末尾のパラメータに対応する、2 つの浮動小数点値が生成されます。
CurveSegmentManip の API クラスは MFnCurveSegmentManip です。
RotateManip では、Maya の組み込み回転マニピュレータに対応しており、3D 回転ベクトルを操作できます。このマニピュレータは、軸がコンストレイントされた 3 個の回転リング、1 個のビュー回転リング、および球を任意の方向に回転することができる非表示のトラックボール 1 個で構成されています。組み込み回転マニピュレータの 3 回転モードであるオブジェクト空間、グローバル、およびジンバルをサポートしています。X、Y、Z、および表示軸にコンストレイントされた回転が可能です。マニピュレータで生成されるベクトルはオイラー回転(Euler Rotate)で、これは回転プラグへの入力に適しています。
RotateManip の API クラスは MFnRotateManip です。
ScaleManip は Maya の組み込みのスケール マニピュレータに対応しており、X、Y、Z の相対スケーリング値を操作できます。スケール マニピュレータは、各軸上の不均等スケーリング用の X、Y、Z 軸ハンドルだけでなく、均等スケーリング用の中央ハンドルも提供します。マニピュレータで生成されるベクトルは相対スケーリング ベクトルで、スケール プラグへの入力に適しています。
ScaleManip の API クラスは MFnScaleManip です。