AL_USDMaya  0.16.6
USD to Maya Bridge
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Maya GUI

These are a series of classes and functions to help automate a lot of the boiler plate GUI code that is often needed for a Maya plug-in. The classes fall into two main categories

  1. code generators that automate the construction of MEL script UI (e.g. AETemplates, menus, file export dialogs, etc).
  2. wrappers around core Maya MPx functionality to enforce error checking, and minimize potential errors.
  3. SIMD optimized methods for extracting data from core Maya API classes.
More...

Classes

class  AL::maya::CommandGuiListGen
 A method used by the generated command GUI code to retrieve a list of items from C++. More...
 
class  AL::maya::CommandGuiHelper
 This class isn't really a wrapper around command options as such, it's mainly just a helper to auto generate some GUI code to create a menu item + option box dialog. More...
 
class  AL::maya::OptionsParser
 Utility class that parses the file translator options passed through by Maya. More...
 
class  AL::maya::MenuBuilder
 You shouldn't need to care about this class (sort of). Probably the only thing you'll want to do is execute. More...
 
class  AL::maya::NodeHelper
 This is a little helper object designed to reduce the amount of boilerplate GUI code you need to jump through to add your own nodes that match a USD schema type. It has been designed to attempt to match the attribute types of USD as closely as possible, so adds support for 2x2 / 3x3 matrix types, half float support, etc. More...
 

Macros

#define AL_DECL_ATTRIBUTE(XX)
 This macro simply adds an MObject member variable to an MPxNode derived class to be used as a node attribute. It also add's a couple of public methods to access a nodes plug, and to access the attributes MObject. For example, if my node looked like: More...
 

Detailed Description

These are a series of classes and functions to help automate a lot of the boiler plate GUI code that is often needed for a Maya plug-in. The classes fall into two main categories

  1. code generators that automate the construction of MEL script UI (e.g. AETemplates, menus, file export dialogs, etc).
  2. wrappers around core Maya MPx functionality to enforce error checking, and minimize potential errors.
  3. SIMD optimized methods for extracting data from core Maya API classes.

Macro Definition Documentation

#define AL_DECL_ATTRIBUTE (   XX)
Value:
private: \
static MObject m_##XX; \
public: \
MPlug XX##Plug() const { return MPlug( thisMObject(), m_##XX ); } \
static const MObject& XX () { return m_##XX; }

This macro simply adds an MObject member variable to an MPxNode derived class to be used as a node attribute. It also add's a couple of public methods to access a nodes plug, and to access the attributes MObject. For example, if my node looked like:

class MyNode
: public MPxNode
{
};

This would effectively expand to:

class MyNode
: public MPxNode
{
static private MObject m_myAttr;
public:
// access the attribute handle
static MObject myAttr()
{ return m_myAttr; }
// access the attribute plug
MPlug myAttrPlug() const
{ return MPlug(thisMObject(), m_myAttr); }
};