- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Friends

# MPxManipContainer Class Reference
OpenMayaUI - API module for user interface | Proxy classes

This reference page is linked to from the following overview topics: Extension for Autodesk Maya 2013, Parent class descriptions, MPxNode and its derived classes, Writing a Manipulator, Manipulator Containers, Communication Between Manipulators and Nodes, Connect Manipulators to the Show Manipulator Tool, 3.9 UI draw manager, Removal of MStatus return codes from .NET API.

Search for all occurrences

## Detailed Description

Base class for user defined manipulator containers.

MPxManipContainer is the base class for user-defined container manipulators. This class is derived from MPxNode since manipulators in Maya are dependency nodes.

MPxManipContainer is a container manipulator that has at least one base manipulator. MPxManipContainer has methods for adding the following base manipulators types to the container: FreePointTriadManip, DirectionManip, DistanceManip, PointOnCurveManip, PointOnSurfaceManip, DiscManip, CircleSweepManip, ToggleManip, StateManip, and CurveSegmentManip.

A container manipulator has one converter which is the interface between the container's children manipulators and the node plugs they affect. The values on the converter that are related to children manipulators are called converterManipValues, and the values on the converter that are related to the node plugs are called converterPlugValues.

The conversion between converterManipValues and converterPlugValues are performed through conversion callback methods, except when there is a one-to-one connection between a converterManipValue and a converterPlugValue.

There are two kinds of conversion callback methods: manipToPlug and plugToManip. A plugToManipConversionCallback is used to calculate a converterManipValue from various converterPlugValues. This callback has access to all the converterPlugValues and returns the value of a converterManipValue. A manipToPlugConversionCallback is used to calculate a converterPlugValue from various converterManipValues. This callback has access to all the converterManipValues and returns the value of a converterPlugValue.

In Viewport 2.0, all child manipulators will draw automatically. However for custom drawing (things done in the draw() method for the default viewport), the plugin must also implement preDrawUI() and drawUI(). Note that selection relies on the default viewport draw pass so the draw() method must still be implemented even if the manipulator is not intended for use in the default viewport.

preDrawUI() is called before drawUI() and should be used to prepare and cache data which will be needed to perform the custom drawing in drawUI().

In order for an MPxManipContainer to be able to run, the manipulator needs to know that the initialization is finished through the finishAddingManips method.

Examples:

  componentScaleManip.cpp, customAttrManip.cpp, footPrintManip.cpp, lineManipContainer.h, moveManip.cpp, rotateManip.cpp, surfaceBumpManip.cpp, and swissArmyManip.cpp.

`#include <MPxManipContainer.h>`

Inheritance diagram for MPxManipContainer:
[legend]

List of all members.

## Public Types
enum | baseType { kFreePointTriadManip, kDirectionManip, kDistanceManip, kPointOnCurveManip, kPointOnSurfaceManip, kDiscManip, kCircleSweepManip, kToggleManip, kStateManip, kCurveSegmentManip, kCustomManip }
| Built-in manipulator types. More...
typedef MManipData(MPxManipContainer::* | plugToManipConversionCallback )(unsigned int manipIndex)
| Pointer to a plug-to-manip conversion callback function.
typedef MManipData(MPxManipContainer::* | manipToPlugConversionCallback )(unsigned int plugIndex)
| Pointer to a manip-to-plug conversion callback function.
## Public Member Functions
| MPxManipContainer ()
| Constructor.
virtual | ~MPxManipContainer ()
| Destructor.
virtual MPxNode::Type | type () const
| This method returns the type of the node.
virtual void | preDrawUI (const M3dView &view)
| This method is not available in Python.
virtual void | drawUI (MHWRender::MUIDrawManager &drawManager, const MHWRender::MFrameContext &frameContext) const
| This method is not available in Python.
virtual void | draw (M3dView &view, const MDagPath &path, M3dView::DisplayStyle style, M3dView::DisplayStatus status)
| This method can be overloaded to customize the drawing of the child manipulators.
virtual MStatus | connectToDependNode (const MObject &dependNode)
| This method connects the manipulator to the dependency node.
virtual MStatus | createChildren ()
| This method should be overridden in user defined manipulators.
MDagPath | addFreePointTriadManip (const MString &manipName, const MString &pointName)
| This method creates a FreePointTriadManip and adds it to the MPxManipContainer container.
MDagPath | addDirectionManip (const MString &manipName, const MString &directionName)
| This method creates a DirectionManip and adds it to the MPxManipContainer container.
MDagPath | addDistanceManip (const MString &manipName, const MString &distanceName)
| This method creates a DistanceManip and adds it to the MPxManipContainer container.
MDagPath | addPointOnCurveManip (const MString &manipName, const MString &paramName)
| This method creates a PointOnCurveManip and adds it to the MPxManipContainer container.
MDagPath | addPointOnSurfaceManip (const MString &manipName, const MString &paramName)
| This method creates a PointOnSurfaceManip and adds it to the MPxManipContainer container.
MDagPath | addDiscManip (const MString &manipName, const MString &angleName)
| This method creates a DiscManip and adds it to the MPxManipContainer container.
MDagPath | addCircleSweepManip (const MString &manipName, const MString &angleName)
| This method creates a CircleSweepManip and adds it to the MPxManipContainer container.
MDagPath | addToggleManip (const MString &manipName, const MString &toggleName)
| This method creates a ToggleManip and adds it to the MPxManipContainer container.
MDagPath | addStateManip (const MString &manipName, const MString &stateName)
| This method creates a StateManip and adds it to the MPxManipContainer container.
MDagPath | addCurveSegmentManip (const MString &manipName, const MString &startParamName, const MString &endParamName)
| This method creates a CurveSegmentManip and adds it to the MPxManipContainer container.
MDagPath | addRotateManip (const MString &manipName, const MString &rotationName)
| This method creates a rotate manipulator and adds it to the MPxManipContainer container.
MDagPath | addScaleManip (const MString &manipName, const MString &scaleName)
| This method creates a scale manipulator and adds it to the MPxManipContainer container.
MStatus | addMPxManipulatorNode (const MString &manipTypeName, const MString &manipName, MPxManipulatorNode *&proxyManip)
| This method creates a custom MPxManipulatorNode and adds it to the MPxManipContainer container.
bool | isManipActive (const MFn::Type &manipType, MObject &manipObject)
| This method determines if custom manip is active & gets the current manip object.
MStatus | finishAddingManips ()
| This method should be called from the user-defined manipulator plug-in near the end of the connectToDependNode method so that the converter in the manipulator can be initialized.
virtual MManipData | plugToManipConversion (unsigned int manipIndex)
| This virtual method calculates and returns the requested manipulator value, based upon the values of plugs on the nodes being manipulated.
virtual MManipData | manipToPlugConversion (unsigned int manipIndex)
| This virtual method calculates and returns the requested plug value, based upon the container's manipulator values.
void | addPlugToManipConversion (unsigned int manipIndex)
| This method adds a plug to manipulator converter for the specified manipulator value (e.g.
unsigned int | addManipToPlugConversion (MPlug &plug)
| This method adds a manipulator to plug converter for the specified plug.
void | addPlugToManipConversionCallback (unsigned int manipIndex, plugToManipConversionCallback callback)
| NO SCRIPT SUPPORT.
unsigned int | addManipToPlugConversionCallback (MPlug &plug, manipToPlugConversionCallback callback)
| NO SCRIPT SUPPORT.
MStatus | getConverterManipValue (unsigned int manipIndex, unsigned int &value)
| This method retrieves the value of a converterManipValue of type unsigned int at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, double &value)
| This method retrieves the value of a converterManipValue of type double at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, double &x, double &y)
| This method retrieves the x and y values of a converterManipValue of type double at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, MPoint &point)
| This method retrieves the value of a converterManipValue of type MPoint at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, MVector &vector)
| This method retrieves the value of a converterManipValue of type MVector at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, MMatrix &matrix)
| This method retrieves the value of a converterManipValue of type MMatrix at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, MEulerRotation &rotation)
| This method retrieves the value of a converterManipValue of type MEulerRotation at a given index from the converter.
MStatus | getConverterManipValue (unsigned int manipIndex, MTransformationMatrix &xform)
| This method retrieves the value of a converterManipValue of type MTransformationMatrix at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, double &value)
| This method retrieves the value of a converterPlugValue of type double at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, double &x, double &y)
| This method retrieves the x and y values of a converterPlugValue of type double at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, MPoint &point)
| This method retrieves the value of a converterPlugValue of type MPoint at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, MVector &vector)
| This method retrieves the value of a converterPlugValue of type MVector at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, MMatrix &matrix)
| This method retrieves the value of a converterPlugValue of type MMatrix at a given index from the converter.
MStatus | getConverterPlugValue (unsigned int plugIndex, MEulerRotation &rotation)
| This method retrieves the value of a converterPlugValue of type MEulerRotation at a given index from the converter.
virtual MStatus | doPress ()
| This method gets called when the manipulator recieves a mouse down event.
virtual MStatus | doDrag ()
| This method gets called when the manipulator recieves a mouse drag event.
virtual MStatus | doRelease ()
| This method gets called when the manipulator recieves a mouse release event.
## Static Public Member Functions
static MStatus | initialize ()
| This method initializes the manipulator, and should be overriden in user-defined manipulators.
static MPxManipContainer * | newManipulator (const MString &manipName, MObject &manipObject, MStatus *ReturnStatus=NULL)
| This static function is used to create a user-defined manipulator.
static MStatus | addToManipConnectTable (MTypeId &)
| This method adds the user defined node as an entry in the manipConnectTable so that when this node is selected the user can use the show manip tool to get the user defined manipulator associated with this node.
static MStatus | removeFromManipConnectTable (MTypeId &)
| This method removes the user defined node entry from the manipConnectTable.
static const char * | className ()
| Returns the name of this class.
## Friends
class | MFnPlugin Search for all occurrences

## Member Typedef Documentation

typedef MManipData(MPxManipContainer::* plugToManipConversionCallback)(unsigned int manipIndex)

Search for all occurrences

Pointer to a plug-to-manip conversion callback function.

Parameters:

  [in] | manipIndex | Index of the manipulator value to be calculated.

typedef MManipData(MPxManipContainer::* manipToPlugConversionCallback)(unsigned int plugIndex)

Search for all occurrences

Pointer to a manip-to-plug conversion callback function.

Parameters:

  [in] | plugIndex | Index of the plug value to be calculated.

## Member Enumeration Documentation

enum baseType

Search for all occurrences

Built-in manipulator types.

Enumerator:

  kFreePointTriadManip | Search for all occurrences
  kDirectionManip | Search for all occurrences
  kDistanceManip | Search for all occurrences
  kPointOnCurveManip | Search for all occurrences
  kPointOnSurfaceManip | Search for all occurrences
  kDiscManip | Search for all occurrences
  kCircleSweepManip | Search for all occurrences
  kToggleManip | Search for all occurrences
  kStateManip | Search for all occurrences
  kCurveSegmentManip | Search for all occurrences
  kCustomManip | Search for all occurrences

## Member Function Documentation

MPxNode::Type type | ( |  | ) | const`[virtual]`

Search for all occurrences

This method returns the type of the node.

Returns:
  MPxNode::kManipContainer

Reimplemented from MPxNode.

MStatus initialize | ( |  | ) | `[static]`

Search for all occurrences

This method initializes the manipulator, and should be overriden in user-defined manipulators.

Returns:
  Status of the operation. The base class always returns MS::kSuccess.

Examples:
  componentScaleManip.cpp, customAttrManip.cpp, footPrintManip.cpp, lineManipContainer.cpp, lineManipContainer.h, moveManip.cpp, rotateManip.cpp, surfaceBumpManip.cpp, and swissArmyManip.cpp.

MPxManipContainer * newManipulator | ( | const MString & | manipName,
|  | MObject & | manipObject,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  | `[static]`

Search for all occurrences

This static function is used to create a user-defined manipulator.

The manipObject argument is set to the new manipulator node. Note that the manipName argument must be the name of a manipulator derived from MPxManipContainer. Also note that this method creates the newManipulator, but doesn't add it to the DAG. The primary use of this method is in conjunction with MPxSelectionContext::addManipulator, to add user-defined manipulators to a context.

Parameters:

  [in] | manipName | manipulator name
  [out] | manipObject | manipulator object
  [out] | ReturnStatus | Status code.

Returns:
  The new manipulator

void preDrawUI | ( | const M3dView & | view | ) | `[virtual]`

Search for all occurrences

This method is not available in Python.

This function is used to setup some drawing data for drawing the manipulator in Viewport 2.0 .

The data updated and cached in this function will be used later during 'drawUI()'.

This method is only called when the manipulator needs to be drawn in Viewport 2.0.

This method needs only be overridden if custom data is needed for drawing in drawUI(). If no such data is needed, this method may be left unimplemented.

This function is empty in this base class.

Parameters:

  [in] | view | the view in which to draw

Examples:
  footPrintManip.cpp, and swissArmyManip.cpp.

void drawUI | ( | MHWRender::MUIDrawManager & | drawManager,
|  | const MHWRender::MFrameContext & | frameContext
| ) |  | const`[virtual]`

Search for all occurrences

This method is not available in Python.

This is the primary method for doing custom drawing for the manipulator in Viewport 2.0.

All drawing should occur using the MUIDrawManager and any data cached in preDrawUI(). Raw OpenGL calls are not supported and if used behaviour will be undefined. Selection must still be handled in the draw() method, this method is only for display.

This method is only called when the manipulator needs to be drawn in Viewport 2.0.

We only need to override this function when we have some custom elements to draw other than the child manipulators in Viewport 2.0.

This function is empty in this base class.

Parameters:

  [in] | drawManager | The draw manager interface for drawing some simple UI
  [in] | frameContext | Frame level context information

Examples:
  footPrintManip.cpp, and swissArmyManip.cpp.

void draw | ( | M3dView & | view,
|  | const MDagPath & | path,
|  | M3dView::DisplayStyle | style,
|  | M3dView::DisplayStatus | status
| ) |  | `[virtual]`

Search for all occurrences

This method can be overloaded to customize the drawing of the child manipulators.

If the default draw is also required, this method should be called from the derived method.

Parameters:

  [in] | view | the view in which to draw
  [in] | path | the current path
  [in] | style | the display appearance
  [in] | status | the display status

Examples:
  componentScaleManip.cpp, customAttrManip.cpp, footPrintManip.cpp, lineManipContainer.cpp, lineManipContainer.h, moveManip.cpp, rotateManip.cpp, surfaceBumpManip.cpp, and swissArmyManip.cpp.

MStatus connectToDependNode | ( | const MObject & | node | ) | `[virtual]`

Search for all occurrences

This method connects the manipulator to the dependency node.

This is a virtual method and needs to be overridden from the plug-in.

Parameters:

  [in] | node | the node to which the manipulator should be connected

Returns:
  MS::kSuccess if successful, an error status otherwise. The base class returns MS::kFailure if there are no connections between manip values and plug values.

Examples:
  componentScaleManip.cpp, customAttrManip.cpp, footPrintManip.cpp, lineManipContainer.h, moveManip.cpp, rotateManip.cpp, surfaceBumpManip.cpp, and swissArmyManip.cpp.

MStatus createChildren | ( |  | ) | `[virtual]`

Search for all occurrences

This method should be overridden in user defined manipulators.

This method is called after the user node derived from MPxManipContainer is set up.

Examples:
  componentScaleManip.cpp, customAttrManip.cpp, footPrintManip.cpp, lineManipContainer.h, moveManip.cpp, rotateManip.cpp, surfaceBumpManip.cpp, and swissArmyManip.cpp.

MDagPath addFreePointTriadManip | ( | const MString & | manipName,
|  | const MString & | pointName
| ) |  |

Search for all occurrences

This method creates a FreePointTriadManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | pointName | point name

Returns:
  New FreePointTriadManip

MDagPath addDirectionManip | ( | const MString & | manipName,
|  | const MString & | directionName
| ) |  |

Search for all occurrences

This method creates a DirectionManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | directionName | direction name

Returns:
  New DirectionManip

MDagPath addDistanceManip | ( | const MString & | manipName,
|  | const MString & | distanceName
| ) |  |

Search for all occurrences

This method creates a DistanceManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | distanceName | distance name

Returns:
  New DistanceManip

MDagPath addPointOnCurveManip | ( | const MString & | manipName,
|  | const MString & | paramName
| ) |  |

Search for all occurrences

This method creates a PointOnCurveManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | paramName | parameter name

Returns:
  New PointOnCurveManip

MDagPath addPointOnSurfaceManip | ( | const MString & | manipName,
|  | const MString & | paramName
| ) |  |

Search for all occurrences

This method creates a PointOnSurfaceManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | paramName | parameter name

Returns:
  New PointOnSurfaceManip

MDagPath addDiscManip | ( | const MString & | manipName,
|  | const MString & | angleName
| ) |  |

Search for all occurrences

This method creates a DiscManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | angleName | angle name

Returns:
  New DiscManip

MDagPath addCircleSweepManip | ( | const MString & | manipName,
|  | const MString & | angleName
| ) |  |

Search for all occurrences

This method creates a CircleSweepManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | angleName | angle name

Returns:
  New CircleSweepManip

MDagPath addToggleManip | ( | const MString & | manipName,
|  | const MString & | toggleName
| ) |  |

Search for all occurrences

This method creates a ToggleManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | toggleName | toggle name

Returns:
  New ToggleManip

MDagPath addStateManip | ( | const MString & | manipName,
|  | const MString & | stateName
| ) |  |

Search for all occurrences

This method creates a StateManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | stateName | state name

Returns:
  New StateManip

MDagPath addCurveSegmentManip | ( | const MString & | manipName,
|  | const MString & | startParamName,
|  | const MString & | endParamName
| ) |  |

Search for all occurrences

This method creates a CurveSegmentManip and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | startParamName | start parameter name
  [in] | endParamName | end parameter name

Returns:
  New CurveSegmentManip

MDagPath addRotateManip | ( | const MString & | manipName,
|  | const MString & | rotationName
| ) |  |

Search for all occurrences

This method creates a rotate manipulator and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | rotationName | name of the rotation vector

Returns:
  Dag path to the new rotate manipulator

MDagPath addScaleManip | ( | const MString & | manipName,
|  | const MString & | scaleName
| ) |  |

Search for all occurrences

This method creates a scale manipulator and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipName | manipulator name
  [in] | scaleName | name of the scale vector

Returns:
  Dag path to the new scale manipulator

MStatus addMPxManipulatorNode | ( | const MString & | manipTypeName,
|  | const MString & | manipName,
|  | MPxManipulatorNode *& | proxyManip
| ) |  |

Search for all occurrences

This method creates a custom MPxManipulatorNode and adds it to the MPxManipContainer container.

Parameters:

  [in] | manipTypeName | manipulator name
  [in] | manipName | name of the manip
  [out] | proxyManip | returns a pointer to the new manipulator

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure failed to make new manipulator

bool isManipActive | ( | const MFn::Type & | manipType,
|  | MObject & | manipObject
| ) |  |

Search for all occurrences

This method determines if custom manip is active & gets the current manip object.

Parameters:

  [in] | manipType | the type of the custom manip
  [in] | manipObject | manipulator object

Returns:
  - true custom manip is active
  - false custom manip is inactive

MStatus finishAddingManips | ( |  | ) |

Search for all occurrences

This method should be called from the user-defined manipulator plug-in near the end of the connectToDependNode method so that the converter in the manipulator can be initialized.

The converter cannot be initialized until all the connections from the manip values to the plug values have been specified.

Returns:
  - MS::kSuccess Operation was successful.
  - MS::kFailure There are no connections between manip values and plug valules.

MStatus addToManipConnectTable | ( | MTypeId & | mid | ) | `[static]`

Search for all occurrences

This method adds the user defined node as an entry in the manipConnectTable so that when this node is selected the user can use the show manip tool to get the user defined manipulator associated with this node.

Note that the name of the manipulator node has to be the name of the plug-in node appended with "Manip".

Parameters:

  [in] | mid | id of the user defined node

Returns:
  MS::kSuccess if the node has been successfully added to the table.

Examples:
  footPrintManip.cpp, and swissArmyManip.cpp.

MStatus removeFromManipConnectTable | ( | MTypeId & | id | ) | `[static]`

Search for all occurrences

This method removes the user defined node entry from the manipConnectTable.

Parameters:

  [in] | id | id of the user defined node

Returns:
  MS::kSuccess if the node has been successfully removed from the table.

MManipData plugToManipConversion | ( | unsigned int | manipIndex | ) | `[virtual]`

Search for all occurrences

This virtual method calculates and returns the requested manipulator value, based upon the values of plugs on the nodes being manipulated.

To use, call addPlugToManipConversion() for each manipulator value (e.g. the start point of a distance manip) you want this method to calculate, then implement this method to calculate those manipulator values. Each manipulator value is identified by the unique index returned by the corresponding method of its functionset (e.g. MFnDistanceManip::startPointIndex).

Parameters:

  [in] | manipIndex | the index of the manipulator value to be calculated

Returns:
  New manipulator value.

Examples:
  componentScaleManip.cpp.

MManipData manipToPlugConversion | ( | unsigned int | plugIndex | ) | `[virtual]`

Search for all occurrences

This virtual method calculates and returns the requested plug value, based upon the container's manipulator values.

To use, call addManipToPlugConversion() for each plug whose value you want this method to calculate then implement this method to calculate those plug values. Each plug is identified by the unique index returned by the addManipToPlugConversion() call.

Parameters:

  [in] | plugIndex | the index of the plug value to be calculated

Returns:
  New plug value.

Examples:
  componentScaleManip.cpp.

void addPlugToManipConversion | ( | unsigned int | manipIndex | ) |

Search for all occurrences

This method adds a plug to manipulator converter for the specified manipulator value (e.g.

the start point of a distance manip). The converter must be implemented in the plugToManipConversion() virtual method of this class.

NOTE: The conversion methods and callback methods of this class should not be mixed. The conversion methods are: addManipToPlugConversion(), addManipToPlugConversion() The callback methods are: addPlugToManipConversionCallback() addManipToPlugConversionCallback()

Parameters:

  [in] | manipIndex | the index of the manipulator value for which the converter is being requested. The index is determined by calling the appropriate method of the manipulator's functionset (e.g. MFnDistanceManip::startPointIndex).

unsigned int addManipToPlugConversion | ( | MPlug & | plug | ) |

Search for all occurrences

This method adds a manipulator to plug converter for the specified plug.

The converter must be implemented in the manipToPlugConversion() virtual method of this class.

NOTE: The conversion methods and callback methods of this class should not be mixed. The conversion methods are: addManipToPlugConversion(), addManipToPlugConversion() The callback methods are: addPlugToManipConversionCallback() addManipToPlugConversionCallback()

Parameters:

  [in] | plug | the plug for which the converter is being requested.

Returns:
  Index used to identify the plug inside the manipToPlugConversion() method.

void addPlugToManipConversionCallback | ( | unsigned int | manipIndex,
|  | plugToManipConversionCallback | callback
| ) |  |

Search for all occurrences

NO SCRIPT SUPPORT.

This method adds a callback which calculates the specified manipulator value (e.g.

the start point of a distance manip) based on the plug values of the nodes being manipulated.

NOTE: The conversion methods and callback methods of this class should not be mixed. The conversion methods are: addManipToPlugConversion(), addManipToPlugConversion() The callback methods are: addPlugToManipConversionCallback() addManipToPlugConversionCallback()

Parameters:

  [in] | manipIndex | the index of the manipulator value for which the callback will be registered. The index is determined by calling the appropriate method of the manipulator's functionset (e.g. MFnDistanceManip::startPointIndex).
  [in] | callback | the callback that calculates a converterManipValue at the specified index from converterPlugValues

unsigned int addManipToPlugConversionCallback | ( | MPlug & | plug,
|  | manipToPlugConversionCallback | callback
| ) |  |

Search for all occurrences

NO SCRIPT SUPPORT.

This method adds a callback that calculates the specified plug value based on the container's manipulator values.

If the same callback is used to calculate several different plug values then the indices returned by this method can be used to distinguish between them.

NOTE: The conversion methods and callback methods of this class should not be mixed. The conversion methods are: addManipToPlugConversion(), addManipToPlugConversion() The callback methods are: addPlugToManipConversionCallback() addManipToPlugConversionCallback()

Parameters:

  [in] | plug | the plug for which the callback will be registered
  [in] | callback | the callback that calculates a converterPlugValue for the specified plug from converterManipValues

Returns:
  Index used to identify the plug in calls to the callback.

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | unsigned int & | value
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type unsigned int at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | value | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | double & | value
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type double at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | value | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | double & | x,
|  | double & | y
| ) |  |

Search for all occurrences

This method retrieves the x and y values of a converterManipValue of type double at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | x | the x value at the specified index
  [out] | y | the y value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | MPoint & | point
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type MPoint at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | point | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | MVector & | vector
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type MVector at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | vector | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | MMatrix & | matrix
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type MMatrix at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | matrix | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | MEulerRotation & | rotation
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type MEulerRotation at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | rotation | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterManipValue | ( | unsigned int | manipIndex,
|  | MTransformationMatrix & | xform
| ) |  |

Search for all occurrences

This method retrieves the value of a converterManipValue of type MTransformationMatrix at a given index from the converter.

Parameters:

  [in] | manipIndex | the index of the converterManipValue
  [out] | xform | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | double & | value
| ) |  |

Search for all occurrences

This method retrieves the value of a converterPlugValue of type double at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | value | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | double & | x,
|  | double & | y
| ) |  |

Search for all occurrences

This method retrieves the x and y values of a converterPlugValue of type double at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | x | the x value at the specified index
  [out] | y | the y value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | MPoint & | point
| ) |  |

Search for all occurrences

This method retrieves the value of a converterPlugValue of type MPoint at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | point | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | MVector & | vector
| ) |  |

Search for all occurrences

This method retrieves the value of a converterPlugValue of type MVector at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | vector | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | MMatrix & | matrix
| ) |  |

Search for all occurrences

This method retrieves the value of a converterPlugValue of type MMatrix at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | matrix | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus getConverterPlugValue | ( | unsigned int | plugIndex,
|  | MEulerRotation & | rotation
| ) |  |

Search for all occurrences

This method retrieves the value of a converterPlugValue of type MEulerRotation at a given index from the converter.

Parameters:

  [in] | plugIndex | the index of the converterPlugValue
  [out] | rotation | the value at the specified index

Returns:
  - MS::kSuccess operation successful
  - MS::kFailure operation failed

MStatus doPress | ( |  | ) | `[virtual]`

Search for all occurrences

This method gets called when the manipulator recieves a mouse down event.

You should return kUnknownParameter to specify that maya should handle this connection or if you want maya to process the connection as well.

Returns:
  - MS::kSuccess Operation successful
  - MS::kUnknownParameter Allow Maya to process event

Examples:
  customAttrManip.cpp.

MStatus doDrag | ( |  | ) | `[virtual]`

Search for all occurrences

This method gets called when the manipulator recieves a mouse drag event.

You should return kUnknownParameter to specify that maya should handle this connection or if you want maya to process the connection as well.

Returns:
  - MS::kSuccess Operation successful
  - MS::kUnknownParameter Allow Maya to process event

Examples:
  customAttrManip.cpp.

MStatus doRelease | ( |  | ) | `[virtual]`

Search for all occurrences

This method gets called when the manipulator recieves a mouse release event.

You should return kUnknownParameter to specify that maya should handle this connection or if you want maya to process the connection as well.

Returns:
  - MS::kSuccess Operation successful
  - MS::kUnknownParameter Allow Maya to process event

Examples:
  customAttrManip.cpp.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

Reimplemented from MPxNode.

MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer
MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer MPxManipContainer