ラッパ
 
 
 

ラッパ(Wrapper)は、数学クラスなどの単純なオブジェクト(ベクトル(vector)や行列(matrix)など)用に存在します。通常、ラッパはパブリックなコンストラクタとデストラクタを持つ、完全に実装された C++ クラスです。API メソッドはラッパを返すことがあります。スコープから外れることでラッパを削除すると考えて構いませんが、その処理はユーザの責任になります。また、必要に応じてラッパの割り当てと割り当て解除を自由に実行できます。上記の例(プラグインを使用してカーブを作成する)では、MPointArray と MDoubleArray がラッパです。ユーザが参照するラッパは、常にユーザ自身の所有となります。

重要:ラッパ宣言(MIntArrayMFloatArray など)は、できるだけループの少ない場所に移動してください。

多くの場合、ラッパのコンストラクタが新規にコールされるのは、内部の Maya オブジェクトを割り当てる場合です。したがって、ループの深い場所でラッパを宣言すると、メモリの配分と配分解除が繰り返し行われます。

このヒントは、MGlobal などのスタティックなラッパ クラスには適用されません。