引数を追加する

らせんのプラグインは単純なカーブを生成しますが、必ず同じカーブが作成されます(プラグインを使用してカーブを作成するを参照)。

カーブのサンプルに引数を追加

少々の変更で、カーブの半径とピッチを指定可能にすることができます。以下のように args パラメータ名を追加して関数定義を変更します。

MStatus doHelix::doIt( const MArgList& args )

変数の宣言の後に以下の行を追加してください。

// Parse the arguments.
for ( i = 0; i < args.length(); i++ )
    if ( MString( "-p" ) == args.asString( i ) )
        pitch = args.asDouble( ++i );
    else if ( MString( "-r" ) == args.asString( i ) )
        radius = args.asDouble( ++i );

このコードでは引数が読み込まれるので、作成するらせんのピッチと半径を変更できます。この変更は非常に単純です。

for ループは、MArgList ラッパ(wrapper)のすべての引数を走査します。2 つの if ステートメントでは、現在の引数(インデックス変数「i」で参照)が MString (Maya API の string ラッパ クラス)に変換され、2 つの引数フラグと比較されます。

一致すると、次の引数が double に変換され、適切な変数に割り当てられます。例:

doHelix -p 0.5 -r 5

このサンプルでは、ピッチが 0.5 単位、半径が 5 単位のらせんが作成されます。