Macros


Defines

#define DeclareSimpleCommand(_className, _vendor, _version)
#define DeclareSingle(_fnptr)
#define CHECK_MSTATUS_AND_RETURN(_status, _retVal)
 Return if status is not MStatus::kSuccess.
#define CHECK_MSTATUS_AND_RETURN_IT(_status)
 Return if status is not MStatus::kSuccess.
#define CHECK_MSTATUS(_status)
 Output an error message if status is not kSuccess.
#define MFAIL(_status)
 True if the status is not MStatus::kSuccess.


Define Documentation

#define CHECK_MSTATUS ( _status   ) 

#define CHECK_MSTATUS_AND_RETURN ( _status,
_retVal   ) 

Return if status is not MStatus::kSuccess.

Output an error message and returns the value 'retVal' if status is not kSuccess.

Parameters:
[in] _status The status code.
[in] _retVal Return value when status if not kSuccess.
Examples:
flipUVCmd.cpp, hairCollisionSolver.cpp, renderViewInteractiveRenderCmd.cpp, renderViewRenderCmd.cpp, and renderViewRenderRegionCmd.cpp.

#define CHECK_MSTATUS_AND_RETURN_IT ( _status   ) 

Return if status is not MStatus::kSuccess.

Output an error message and returns the status if it is not kSuccess.

Parameters:
[in] _status The status code.
Examples:
flipUVCmd.cpp, flipUVMain.cpp, and stringFormatNode.cpp.

#define DeclareSimpleCommand ( _className,
_vendor,
_version   ) 

This macro expands to all the code necessary to create an undoable command except for the command's "doIt" method.

This macro expects as arguments the name of the class that will be derived from MPxCommand, the name of the organisation owning this code, and the version number of the plug-in.

In addition to the macro, a method with the following prototype needs to be implemented.

  MStatus className::doIt( const MArgList& )

The macro will generate a class with the given classname that is derived from MPxCommand. It will also generate the following methods:

  void* className::creator()
  MStatus initializePlugin( MObject )
  MStatus uninitializePlugin( MObject )

All methods inherited from MPxCommand such as setResult, displayWarning, and displayError are available.

Parameters:
[in] _className Name of the class
[in] _vendor Name of the organisation owning this command
[in] _version Plug-in version number
Examples:
cvExpandCmd.cpp, findFileTexturesCmd.cpp, findTexturesPerPolygonCmd.cpp, getAttrAffectsCmd.cpp, helixCmd.cpp, helloCmd.cpp, helloWorldCmd.cpp, instancerListCmd.cpp, listLightLinksCmd.cpp, listPolyHolesCmd.cpp, threadTestCmd.cpp, threadTestWithLocksCmd.cpp, viewCaptureCmd.cpp, volumeLightCmd.cpp, and whatisCmd.cpp.

#define DeclareSingle ( _fnptr   ) 

The macro expands to all the code necessary to create a basic non-undoable command that calls "functionPtr" from its doIt method. One limitation of using this macro is that since "functionPtr" is not a member of the class derived from MPxCommand, it cannot call methods (like setResult) that are inherited from that class.

This macro requires as argument a function with the prototype:

  MStatus functionPtr ( const MArgList& )

The macro will generate a class called _DoItCmd which is derived from MPxCommand. It also generate the following methods:

  void* _DoItCmd::creator()
  MStatus _DoItCmd::doIt( const MArgList& args )
  MStatus initializePlugin( MObject )
  MStatus uninitializePlugin( MObject )

Parameters:
[in] _fnptr Command function pointer

#define MFAIL ( _status   ) 

True if the status is not MStatus::kSuccess.

Parameters:
[in] _status The status code.


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6