Public Member Functions | Static Public Member Functions

MDrawInfo Class Reference

This reference page is linked to from the following overview topics: Extension for Autodesk Maya 2013, Drawing and refresh.


Search for all occurrences

Detailed Description

Drawing state used in the draw methods of MPxSurfaceShapeUI.

This class is used by the getDrawRequests method of MPxSurfaceShapeUI to specify the current object drawing state for a user defined shape.

This getPrototype method is used to construct a draw request object based on the current draw state for the object.

See MDrawRequest for more information.

Examples:

apiMeshShapeUI.cpp, apiMeshShapeUI.h, apiSimpleShapeUI.cpp, apiSimpleShapeUI.h, and quadricShape.cpp.

#include <MDrawInfo.h>

Inheritance diagram for MDrawInfo:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MDrawInfo ()
 Constructor.
 MDrawInfo (const MDrawInfo &in)
 Copy constructor.
virtual ~MDrawInfo ()
 Destructor.
MDrawRequest getPrototype (const MPxSurfaceShapeUI &drawHandler) const
 This method creates a draw request based on the current draw state.
M3dView view () const
 Returns the view that the drawing will take place.
const MDagPath multiPath () const
 Returns the path to the object to be drawn.
void setMultiPath (const MDagPath &)
 Sets the path of the object to be drawn.
const MMatrix projectionMatrix () const
 Returns the camera*projection matrix.
const MMatrix inclusiveMatrix () const
 Returns the world space inclusive matrix.
M3dView::DisplayStyle displayStyle () const
 The display appearance.
M3dView::DisplayStatus displayStatus () const
 Returns the status of the object to draw.
bool objectDisplayStatus (M3dView::DisplayObjects) const
 Determines whether the specified objects are allowed to be displayed.
bool pluginObjectDisplayStatus (const MString &pluginDisplayFilter) const
 Determines whether the specified plugin object is allowed to be displayed.
bool inSelect () const
 Returns true if this is called from within the select method of MPxSurfaceShapeUI.
bool inUserInteraction () const
 Returns true during any interactive refresh, as when user is interacting with the scene in any way including camera changes, object or component TRS changes, etc.
bool userChangingViewContext () const
 Returns true during any interactive refresh, as when user is changing the view using view context tools such as tumble, dolly or track.
bool completelyInside () const
 Returns true if the object being drawn is inside the viewing frustum.
bool canDrawComponent (bool isDisplayOn, const MSelectionMask &compMask) const
 Convenience method to test if components specified by the given mask can be drawn.

Static Public Member Functions

static const char * className ()
 Returns the name of this class.

Constructor & Destructor Documentation

MDrawInfo ( const MDrawInfo other)

Copy constructor.

Parameters:
[in]otherdraw info object to copy

Member Function Documentation

MDrawRequest getPrototype ( const MPxSurfaceShapeUI drawHandler) const

This method creates a draw request based on the current draw state.

The draw request is placed onto maya's drawing queue (MDrawRequestQueue) where it can be processed in turn. The drawHandler argument is the shape that will be doing the drawing which is the object calling this function.

See MDrawRequest for more information.

Parameters:
[in]drawHandlerthe ui object that is doing the drawing
Returns:
A draw request
Examples:
apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, and quadricShape.cpp.
M3dView view ( ) const

Returns the view that the drawing will take place.

Returns:
The view
Examples:
apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, and quadricShape.cpp.
const MDagPath multiPath ( ) const

Returns the path to the object to be drawn.

Returns:
The path to the object to be drawn
Examples:
apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, and quadricShape.cpp.
const MMatrix projectionMatrix ( ) const

Returns the camera*projection matrix.

Returns:
The camera projection matrix
const MMatrix inclusiveMatrix ( ) const

Returns the world space inclusive matrix.

Returns:
World space inclusive matrix
M3dView::DisplayStyle displayStyle ( ) const

The display appearance.

Returns:
The display appearance.
Examples:
apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, and quadricShape.cpp.
M3dView::DisplayStatus displayStatus ( ) const

Returns the status of the object to draw.

Returns:
Object display status
Examples:
apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, and quadricShape.cpp.
bool objectDisplayStatus ( M3dView::DisplayObjects  displayObj) const

Determines whether the specified objects are allowed to be displayed.

Returns:
  • true All of the objects in the displayObj mask can be displayed.
  • false One or more objects in the displayObj mask is excluded from display.
Examples:
apiMeshShapeUI.cpp, and quadricShape.cpp.
bool pluginObjectDisplayStatus ( const MString pluginDisplayFilter) const

Determines whether the specified plugin object is allowed to be displayed.

Parameters:
[in]pluginDisplayFilterThe name of the plugin display filter which is registered by pluginDisplayFilter command.
Returns:
  • true The specified object can be displayed.
  • false The specified object is excluded from display.
bool inSelect ( ) const

Returns true if this is called from within the select method of MPxSurfaceShapeUI.

Returns:
  • true in select
  • false in draw
bool inUserInteraction ( ) const

Returns true during any interactive refresh, as when user is interacting with the scene in any way including camera changes, object or component TRS changes, etc.

Use userChangingViewContext for determining whether user is changing the view using view context tools such as tumble, dolly or track.

Returns:
  • true draw is called because user is interacting with scene
  • false draw is for another reason; user is not interacting
Examples:
apiMeshShapeUI.cpp.
bool userChangingViewContext ( ) const

Returns true during any interactive refresh, as when user is changing the view using view context tools such as tumble, dolly or track.

Useful for changing drawing mode to something simpler to speed up interaction re-draw. Use inUserInteraction for determining whether user is interacting with the scene in any way.

Returns:
  • true draw is called because user is changing the view using view context tools such as tumble, dolly or track
  • false draw is for another reason
Examples:
apiMeshShapeUI.cpp.
bool completelyInside ( ) const

Returns true if the object being drawn is inside the viewing frustum.

Returns:
  • true object inside frustum
  • false object not completely inside frustum
bool canDrawComponent ( bool  isDisplayOn,
const MSelectionMask mask 
) const

Convenience method to test if components specified by the given mask can be drawn.

Parameters:
[in]isDisplayOncomponent display is on
[in]maskcomponent mask to test
Returns:
  • true the specified component can be drawn
  • false the specified component cannot be drawn
const char * className ( ) [static]

Returns the name of this class.

Returns:
Name of this class.

Reimplemented in MSelectInfo.


MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo
MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo MDrawInfo