C++ API Reference
|
Base class for interative selection tools. More...
#include <MPxSelectionContext.h>
Public Member Functions | |
MPxSelectionContext () | |
Class contstructor. More... | |
~MPxSelectionContext () override | |
Default destructor. More... | |
MStatus | doPress (MEvent &event, MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) override |
Not available in Python. More... | |
MStatus | doRelease (MEvent &event, MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) override |
Not available in Python. More... | |
MStatus | doDrag (MEvent &event, MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) override |
Not available in Python. More... | |
MStatus | doHold (MEvent &event, MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) override |
Not available in Python. More... | |
MStatus | doPress (MEvent &event) override |
This method is called when any mouse button is pressed. More... | |
MStatus | doRelease (MEvent &event) override |
This method is called when any mouse button is released. More... | |
MStatus | doDrag (MEvent &event) override |
This method is called when a mouse drag event occurs. More... | |
MStatus | doHold (MEvent &event) override |
This method is called when after a mouse button is pressed but before the mouse is dragged. More... | |
MStatus | helpStateHasChanged (MEvent &) override |
This method is called whenever the help state may need to be updated. More... | |
MStatus | addManipulator (const MObject &manipulator) override |
This method adds a manipulator to the context, and also adds the manipulator to the DAG. More... | |
MStatus | deleteManipulators () override |
This method deletes all the manipulators that belong to the context. More... | |
MStatus | setAllowPreSelectHilight () |
This method enables the support of pre-selection highlight for this context. More... | |
MStatus | setAllowSoftSelect () |
This method enables the support of soft selection for this context. More... | |
MStatus | setAllowSymmetry () |
This method enables the support of symmetrical selection for this context. More... | |
MStatus | setAllowDoubleClickAction () |
This method enables the support of double click smart selection for this context. More... | |
MStatus | setAllowPaintSelect () |
Introduced in 2023.0 More... | |
MStatus | setImage (const MString &image, ImageIndex index) |
This method is used to set an XPM icon image that is to be used to represent this tool context in various places including the tool bar and can be queried from mel using the contextInfo command. More... | |
MString | image (ImageIndex index, MStatus *ReturnStatus=NULL) const |
This method is used to retrieve an XPM icon image that has previously been set for this tool context. More... | |
MStatus | getImage (MString &image, ImageIndex index) const |
NO SCRIPT SUPPORT. More... | |
void | abortAction () override |
This method is called when the abort key is pressed. More... | |
bool | processNumericalInput (const MDoubleArray &values, const MIntArray &flags, bool isAbsolute) override |
This method processes the input from the numerical input field. More... | |
bool | feedbackNumericalInput () const override |
This method is called to update the numerical feedback. More... | |
MSyntax::MArgType | argTypeNumericalInput (unsigned int index) const override |
This method is used by the feedback line to determine what units to display. More... | |
Public Member Functions inherited from MPxContext | |
MPxContext () | |
Class contstructor. More... | |
virtual | ~MPxContext () |
Default destructor. More... | |
virtual void | toolOnSetup (MEvent &event) |
This method is called when the context is activated, i.e when the toolButton for the context is pressed. More... | |
virtual void | toolOffCleanup () |
This method is called when the context is deactivated, i.e when another context is activated. More... | |
virtual MStatus | drawFeedback (MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) |
Not available in Python. More... | |
virtual MStatus | doPtrMoved (MEvent &event, MHWRender::MUIDrawManager &drawMgr, const MHWRender::MFrameContext &context) |
This method is called when a mouse move event occurs. More... | |
virtual MStatus | doPtrMoved (MEvent &event) |
This method is called when a mouse move event occurs. More... | |
virtual MStatus | doEnterRegion (MEvent &event) |
This method is called when the mouse pointer enters a screen panel region. More... | |
virtual void | deleteAction () |
This method is called when the delete or backspace key is pressed. More... | |
virtual void | completeAction () |
This method is called when the complete key is pressed. More... | |
MStatus | setImage (const MString &image, ImageIndex index) |
This method is used to set an XPM icon image that is to be used to represent this tool context in various places including the tool bar and can be queried from mel using the contextInfo command. More... | |
MString | image (ImageIndex index, MStatus *ReturnStatus=NULL) const |
This method is used to retrieve an XPM icon image that has previously been set for this tool context. More... | |
bool | inAlternateContext () const |
Introduced in 2023.1 More... | |
MStatus | _dragMarquee (MEvent &event) |
Introduced in 2020.0 More... | |
virtual MString | stringClassName () const |
This method is called to determine the name that uniquely identifies the context. More... | |
virtual void | getClassName (MString &name) const |
NO SCRIPT SUPPORT. More... | |
MStatus | getImage (MString &image, ImageIndex index) const |
NO SCRIPT SUPPORT. More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Member Functions inherited from MPxContext | |
static const char * | className () |
Returns the name of this class. More... | |
Protected Member Functions | |
bool | isSelecting () |
USE _isSelecting() IN SCRIPT. More... | |
MPoint | startPoint () |
USE _startPoint() IN SCRIPT. More... | |
MPoint | lastDragPoint () |
USE _lastDragPoint() IN SCRIPT. More... | |
MPxToolCommand * | newToolCommand () override |
CALL _newToolCommand() IN SCRIPT. More... | |
Protected Member Functions inherited from MPxContext | |
MStatus | setHelpString (const MString &str) |
USE _setHelpString() IN SCRIPT. More... | |
MStatus | setTitleString (const MString &str) |
USE _setTitleString() IN SCRIPT. More... | |
MStatus | setCursor (const MCursor &newCursor) |
USE _setCursor() IN SCRIPT. More... | |
MStatus | beginMarquee (MEvent &event) |
USE _beginMarquee() IN SCRIPT. More... | |
MStatus | dragMarquee (MEvent &event) |
USE _dragMarquee() IN SCRIPT. More... | |
MStatus | releaseMarquee (MEvent &event, short &top, short &left, short &bottom, short &right) |
USE _releaseMarquee() IN SCRIPT. More... | |
Additional Inherited Members | |
Public Types inherited from MPxContext | |
enum | ImageIndex { kImage1, kImage2, kImage3 } |
Used to select between the three possible images associated with the context. More... | |
Static Protected Member Functions inherited from MPxContext | |
static bool | ignoreEntry (const MIntArray &flags, unsigned int entry) |
USE _ignoreEntry() IN SCRIPT. More... | |
Base class for interative selection tools.
This class is used in creating user defined tools that use the internal selection mechanism in maya.
OPENMAYA_MAJOR_NAMESPACE_OPEN MPxSelectionContext | ( | ) |
Class contstructor.
This constructor will only be called from MPxContextCommand::makeObj. Users must override this method.
|
override |
Default destructor.
Users can override this method to free any user instantiated data when the context is destroyed.
|
overridevirtual |
Not available in Python.
This method is called when any mouse button is pressed.
The base method does nothing and should be overridden if the user needs to do anything on a button press.
This method is called only when in Viewport 2.0. MUIDrawManager must be used for any viewport drawing done in this method. Direct calls to OpenGL or DirectX are unsupported and may result in instability or unpredictable behavior.
MUIDrawManager allows for drawing primitives in the 3D modeling space. Those primitives will then be projected onto a 2D overlay plane before being displayed.
The event can be used to get more explicit information about the press such as the button number. See MEvent for more information.
[in] | event | The button press event information. |
[in] | drawMgr | The UI draw manager, it can be used to draw some simple geometry including text. |
[in] | context | Frame level context information |
Reimplemented from MPxContext.
|
overridevirtual |
Not available in Python.
This method is called when any mouse button is released.
The base method does nothing except marquee selection and should be overridden if the user needs to do anything on a button release.
This method is called only when in Viewport 2.0. MUIDrawManager must be used for any viewport drawing done in this method. Direct calls to OpenGL or DirectX are unsupported and may result in instability or unpredictable behavior.
MUIDrawManager allows for drawing primitives in the 3D modeling space. Those primitives will then be projected onto a 2D overlay plane before being displayed.
The event can be used to get more explicit information about the release such as the button number. See MEvent for more information.
[in] | event | The button press event information. |
[in] | drawMgr | The UI draw manager, it can be used to draw some simple geometry including text. |
[in] | context | Frame level context information |
Reimplemented from MPxContext.
|
overridevirtual |
Not available in Python.
This method is called when a mouse drag event occurs.
The base method does nothing except marquee selection and should be overridden if the user needs to do anything during a mouse drag.
This method is called only when in Viewport 2.0. MUIDrawManager must be used for any viewport drawing done in this method. Direct calls to OpenGL or DirectX are unsupported and may result in instability or unpredictable behavior.
MUIDrawManager allows for drawing primitives in the 3D modeling space. Those primitives will then be projected onto a 2D overlay plane before being displayed.
The event can be used to get more explicit information about the drag such as the cursor location. See MEvent for more information.
[in] | event | The button press event information. |
[in] | drawMgr | The UI draw manager, it can be used to draw some simple geometry including text. |
[in] | context | Frame level context information |
Reimplemented from MPxContext.
|
overridevirtual |
Not available in Python.
This method is called when after a mouse button is pressed but before the mouse is dragged.
The base method does nothing except marquee selection and should be overridden if the user needs to do anything on a button hold.
This method is called only when in Viewport 2.0. MUIDrawManager must be used for any viewport drawing done in this method. Direct calls to OpenGL or DirectX are unsupported and may result in instability or unpredictable behavior.
MUIDrawManager allows for drawing primitives in the 3D modeling space. Those primitives will then be projected onto a 2D overlay plane before being displayed.
The event can be used to get more explicit information about the hold such as the button number. See MEvent for more information.
[in] | event | The button press event information. |
[in] | drawMgr | The UI draw manager, it can be used to draw some simple geometry including text. |
[in] | context | Frame level context information |
Reimplemented from MPxContext.
This method is called when any mouse button is pressed.
The base method does nothing and should be overridden if the user needs to do anything on a button press.
The event can be used to get more explicit information about the press such as the button number. See MEvent for more information.
[in] | event | The button press event information. |
Reimplemented from MPxContext.
This method is called when any mouse button is released.
The base method does nothing except marquee selection and should be overriden if the user needs to do anything on a button release.
The event can be used to get more explicit information about the release such as the button number. See MEvent for more information.
[in] | event | The mouse button release information. |
Reimplemented from MPxContext.
This method is called when a mouse drag event occurs.
The base method does nothing except marquee selection and should be overriden if the user needs to do anything during a mouse drag.
The event can be used to get more explicit information about the drag such as the cursor location. See MEvent for more information.
[in] | event | The mouse drag event information. |
Reimplemented from MPxContext.
This method is called when after a mouse button is pressed but before the mouse is dragged.
The base method does nothing except marquee selection and should be overriden if the user needs to do anything on a button hold.
The event can be used to get more explicit information about the hold such as the button number. See MEvent for more information.
[in] | event | The mouse button hold event information. |
Reimplemented from MPxContext.
This method is called whenever the help state may need to be updated.
The base method does nothing and should be overriden if the user needs to change the help information based on events.
The event can be used to get more explicit information about the event. See MEvent for more information.
[in] | event | The event information. Unused in the base class. |
Reimplemented from MPxContext.
This method adds a manipulator to the context, and also adds the manipulator to the DAG.
Note that the manipulator should not yet be added to the DAG when this method is called.
[in] | manipulator | the manipulator to be added to the context |
Reimplemented from MPxContext.
|
overridevirtual |
This method deletes all the manipulators that belong to the context.
Reimplemented from MPxContext.
MStatus setAllowPreSelectHilight | ( | ) |
This method enables the support of pre-selection highlight for this context.
It needs to be called by the user-overriden MPxContext::toolOnSetup method.
MStatus setAllowSoftSelect | ( | ) |
This method enables the support of soft selection for this context.
MStatus setAllowSymmetry | ( | ) |
This method enables the support of symmetrical selection for this context.
MStatus setAllowDoubleClickAction | ( | ) |
This method enables the support of double click smart selection for this context.
MStatus setAllowPaintSelect | ( | ) |
Introduced in 2023.0
This method enables drag selection mode for this context.
MStatus setImage | ( | const MString & | image, |
ImageIndex | index | ||
) |
This method is used to set an XPM icon image that is to be used to represent this tool context in various places including the tool bar and can be queried from mel using the contextInfo command.
[in] | image | the name of an XPM file to be used as the icon |
[in] | index | the index of the image being set; three image representations are permitted: kImage1, kImage2, kImage3 |
MString image | ( | ImageIndex | index, |
MStatus * | ReturnStatus = NULL |
||
) | const |
This method is used to retrieve an XPM icon image that has previously been set for this tool context.
This icon image will be used to represent this tool context in various places including the tool bar and can be queried from mel using the contextInfo command.
[in] | index | the index for the image being retrieved; three image representations are permitted: kImage1, kImage2, kImage3 |
[out] | ReturnStatus | Status code (see below) |
MStatus getImage | ( | MString & | image, |
ImageIndex | index | ||
) | const |
NO SCRIPT SUPPORT.
Not available in Python.
This method is used to retrieve an XPM icon image that has previously been set for this tool context. This icon image will be used to represent this tool context in various places including the tool bar and can be queried from mel using the contextInfo command.
Python Notes
This method is not supported in Python. See the image function which returns a string.
[in] | image | the returned name of an XPM Icon file |
[in] | index | the index for the image being retrieved; three image representations are permitted: kImage1, kImage2, kImage3 |
|
protected |
USE _isSelecting() IN SCRIPT.
Determines whether an object is selected.
|
protected |
USE _startPoint() IN SCRIPT.
Returns the position of button press.
|
protected |
USE _lastDragPoint() IN SCRIPT.
Returns the position of the last drag point.
|
overrideprotectedvirtual |
CALL _newToolCommand() IN SCRIPT.
Create a new instance of the tool command associated with this context.
The tool command (derived from MPxToolCommand) is the command that was registered along with the context command in :
Reimplemented from MPxContext.
|
overridevirtual |
This method is called when the abort key is pressed.
The default abort key in Maya is the escape key. Users can override this method if they wish to perform certain operations when the abort key is pressed.
Reimplemented from MPxContext.
|
overridevirtual |
This method processes the input from the numerical input field.
Users can override this method if they wish to process numerical input. For a given entry in the numeric input field, if the user types a dot ".", this indicates that the entry should not be modified. The overridden version of this method should take this into account using the ignoreEntry method with the flags that are passed in. The overridden version of this method should also process the numeric input as an absolute input or relative input depending on whether the isAbsolute flag is true or not. The return value should indicate whether or not the numerical input has been processed.
[in] | values | the values from the numerical input field |
[in] | flags | used in conjunction with the ignoreEntry method, determines whether or not a given entry should be ignored |
[in] | isAbsolute | whether or not the input should be interpreted as absolute |
Reimplemented from MPxContext.
|
overridevirtual |
This method is called to update the numerical feedback.
The format and values for the feedback line can be set through the methods in MFeedbackLine, specifically setFormat and setValue. The return value should indicate whether or not the numerical feedback has been provided.
Reimplemented from MPxContext.
|
overridevirtual |
This method is used by the feedback line to determine what units to display.
Users should override this method to return the appropriate argument type for the given index of the numeric input field. Specifically, this method should be overridden to return one of the following:
[in] | index | the index of the numerical input whose argument type is requested |
Reimplemented from MPxContext.
|
static |
Returns the name of this class.