次に示すのは hello コマンドの新バージョンで、hello コマンドを登録するとき、MSimple.h でマクロではなく MFnPlugin を使用します。
#include <stdio.h> #include <maya/MString.h> #include <maya/MArgList.h> #include <maya/MFnPlugin.h> #include <maya/MPxCommand.h> #include <maya/MIOStream.h> class hello : public MPxCommand { public: MStatus doIt( const MArgList& args ); static void* creator(); }; MStatus hello::doIt( const MArgList& args ) { cout << "Hello " << args.asString( 0 ).asChar() << endl; return MS::kSuccess; } void* hello::creator() { return new hello; } MStatus initializePlugin( MObject obj ) { MFnPlugin plugin( obj, "Autodesk", "1.0", "Any" ); plugin.registerCommand( "hello", hello::creator ); return MS::kSuccess; } MStatus uninitializePlugin( MObject obj ) { MFnPlugin plugin( obj ); plugin.deregisterCommand( "hello" ); return MS::kSuccess; }