[OpenMaya] 構文クリエイターについて

最近OpenMayaの勉強メモBlog化してますが、まだまだ続きます。
自分が作りたいモノに到達するまで先は長い(´Д)

今回は、構文クリエイターについて調べてみました。
構文クリエイターとは、Melコマンドにある xform -ws -t のような、 -xxxというフラグを解析・Mayaにフラグを認識させるための関数の事を言います。

書き方

構文クリエイターのメイン部分。関数名は自由です。
基本は、 MSyntaxのオブジェクトを作成し、その後 作成したいフラグを addFlag で追加していきます。
addFlagの引数は shortFlagName , longFlagName , dataType の順番になります。
dataType は classReferenceのMSyntaxのMArgTypeに一覧があるので、
そこを参考に設定します。
上の例の kNoArg は、その名の通り値無しの ( xform -ws のような)フラグタイプです。

注意点は、

shortFlag名は 3文字以下、longFlag名は4文字以上にしなければ
Error: You are not licensed to use the "syntaxTest" command.
で、エラーになってしまうこと。


Attribute作成時の引数順序は、Long,Short ですが、このaddFlagの引数は Short,Longなので
うっかり逆に書いてしまわないようにしましょう。
私はやりました(´Д)

構文クリエイター関数は、initalize時の registerCommand 時に、関数名をセットします。

registerCommandの3つめの引数に syntaxCreator の関数名を入れます。
上記の例の場合は、PMxCommandを継承した syntaxTestクラス内に、構文クリエイターの関数を書いています。

そんなこんなで動くようになりました。
次は、前回やったAttribute作成と併せて、 doIt()やcompute()内で、受け取った値を弄るやり方を
確認しようと思います。
まだまだ先は長い!!

おまけ
syntaxHighlighter を Crayon Syntax Highlighter にしてみました。
いろんなSyntaxHighlighterを試しましたが、コレが一番いいかんじですね(´ω`)

コメントを残す

メールアドレスが公開されることはありません。


*