MDrawRequest Class Reference
[OpenMayaUI - API module for user interface]

#include <MDrawRequest.h>

List of all members.


Detailed Description

A draw reqeust used in the draw methods of MPxSurfaceShapeUI.

This class encapsulates all the information needed to fulfill a request to draw an object or part of an object. This class is used by the draw methods of MPxSurfaceShapeUI derived objects.

The draw request should be created in the overridden MPxSurfaceShapeUI::getDrawRequests method. Once created the appropriate "set" methods of this class should be used to define what is being requested. Then the request should be placed on the draw reqeust queue using MDrawRequestQueue::add.

When your request gets processed by maya, your overriden MPxSurfaceShape::draw method will get called with your request. Use the query methods of this class to determine what to draw.

You create a draw request using the method MDrawInfo::getPrototype. A draw request automatically picks up certain information (listed below) upon its creation. So you don't have to set any of this information unless you want to change it.

Information automatically set by MDrawInfo::getPrototype :

The draw token is an integer value which you can use to specify what is to be drawn. This is object specific and so you should define an enum with the information you require to decide what is being drawn in your MPxSurfaceShapeUI::draw method.

Here is an example of draw token values for a polygonal mesh object as defined in an MPxSurfaceShapeUI derived class.

    // Draw Tokens
    //
    enum {
        kDrawVertices, // component token
        kDrawWireframe,
        kDrawWireframeOnShaded,
        kDrawSmoothShaded,
        kDrawFlatShaded,
        kLastToken
    };
Examples:

apiMeshShapeUI.cpp, apiMeshShapeUI.h, apiSimpleShapeUI.cpp, apiSimpleShapeUI.h, blindDataShader.cpp, blindDataShader.h, hwAnisotropicShader_NV20.cpp, hwAnisotropicShader_NV20.h, hwColorPerVertexShader.cpp, hwDecalBumpShader_NV20.cpp, hwDecalBumpShader_NV20.h, hwPhongShader.cpp, hwPhongShader.h, hwReflectBumpShader_NV20.cpp, hwReflectBumpShader_NV20.h, hwRefractReflectShader_NV20.cpp, hwRefractReflectShader_NV20.h, hwToonShader_NV20.cpp, hwToonShader_NV20.h, hwUnlitShader.cpp, hwUnlitShader.h, pnTrianglesNode.cpp, pnTrianglesNode.h, and quadricShape.cpp.


Public Member Functions

 MDrawRequest ()
 MDrawRequest (const MDrawRequest &in)
 ~MDrawRequest ()
M3dView view () const
void setView (M3dView &)
const MDagPath multiPath () const
void setMultiPath (const MDagPath &)
MObject component () const
void setComponent (MObject &)
MDrawData drawData () const
void setDrawData (MDrawData &)
M3dView::DisplayStatus displayStatus () const
void setDisplayStatus (M3dView::DisplayStatus)
bool displayCulling () const
void setDisplayCulling (bool)
bool displayCullOpposite () const
void setDisplayCullOpposite (bool)
M3dView::DisplayStyle displayStyle () const
void setDisplayStyle (M3dView::DisplayStyle)
int color (M3dView::ColorTable table) const
void setColor (int, M3dView::ColorTable table)
MMaterial material () const
void setMaterial (MMaterial &)
bool isTransparent () const
void setIsTransparent (bool)
bool drawLast () const
void setDrawLast (bool)
int token () const
void setToken (int)
MDrawRequestoperator= (const MDrawRequest &other)

Constructor & Destructor Documentation

MDrawRequest::MDrawRequest (  ) 

Constructor.

MDrawRequest::MDrawRequest ( const MDrawRequest other  ) 

Copy constructor.

Parameters:
[in] other value to copy

MDrawRequest::~MDrawRequest (  ) 

Destructor.


Member Function Documentation

M3dView MDrawRequest::view (  )  const

Returns the view where drawing will be done.

void MDrawRequest::setView ( M3dView theView  ) 

Sets the view where drawing will be done.

const MDagPath MDrawRequest::multiPath (  )  const

void MDrawRequest::setMultiPath ( const MDagPath thePath  ) 

Sets the path to the object to be drawn.

MObject MDrawRequest::component (  )  const

An optional component. If set draw the components that are specified, otherwise draw all components of this type for the object.

Examples:

void MDrawRequest::setComponent ( MObject comp  ) 

Set a component to be drawn.

Parameters:
[in] comp component to be drawn
Examples:

MDrawData MDrawRequest::drawData (  )  const

Returns the object specific draw data.

Examples:

void MDrawRequest::setDrawData ( MDrawData data  ) 

Set the object specific draw data.

Parameters:
[in] data draw data
Examples:

M3dView::DisplayStatus MDrawRequest::displayStatus (  )  const

Return the state of object (active, dormant, etc.).

void MDrawRequest::setDisplayStatus ( M3dView::DisplayStatus  status  ) 

Set the state of object (active, dormant, etc.).

Parameters:
[in] status display status

bool MDrawRequest::displayCulling (  )  const

Returns the state of the culling flag for the object.

void MDrawRequest::setDisplayCulling ( bool  value  ) 

Sets the state of the culling flag for the object.

Parameters:
[in] value culling value to be set

bool MDrawRequest::displayCullOpposite (  )  const

Returns the state of the culling flag for the object.

void MDrawRequest::setDisplayCullOpposite ( bool  value  ) 

Sets the state of the culling flag for the object.

Parameters:
[in] value culling value to be set

M3dView::DisplayStyle MDrawRequest::displayStyle (  )  const

Returns how the object should be drawn (wireframe, shaded, etc.).

void MDrawRequest::setDisplayStyle ( M3dView::DisplayStyle  style  ) 

Sets how the object should be drawn (wireframe, shaded, etc.).

Parameters:
[in] style display style to set
Examples:

int MDrawRequest::color ( M3dView::ColorTable  table  )  const

Returns the wireframe display color.

The color table specifies which of the 4 color planes to use. This table can be active, dormant, template, or background.

Parameters:
[in] table color table

void MDrawRequest::setColor ( int  value,
M3dView::ColorTable  table 
)

Sets the wireframe display color.

The color table specifies which of the 4 color planes to use. This table can be active, dormant, template, or background.

Parameters:
[in] value index into the color table
[in] table color table
Examples:

MMaterial MDrawRequest::material (  )  const

Returns the shaded material.

Examples:

void MDrawRequest::setMaterial ( MMaterial material  ) 

Returns the shaded material.

Parameters:
[in] material the material to set
Examples:

bool MDrawRequest::isTransparent (  )  const

Returns the transparency state of the object.

Examples:

void MDrawRequest::setIsTransparent ( bool  value  ) 

Sets the transparency state of the object.

Parameters:
[in] value the transparency value
Examples:

bool MDrawRequest::drawLast (  )  const

Returns the order in which this object will be drawn.

void MDrawRequest::setDrawLast ( bool  value  ) 

Specifies the order in which this object will be drawn.

Parameters:
[in] value draw last flag

int MDrawRequest::token (  )  const

Returns the user-defined draw token for this request.

The token is used to identify a particular part of an object to draw. It is also used to distinguish draw requests generated by derived UI objects from those generated by base classes. It some cases, it provides a way of indicating that a component should be displayed without creating a component MObject.

Examples:

void MDrawRequest::setToken ( int  value  ) 

Set the user-defined draw token for this request.

The token is used to identify a particular part of an object to draw. It is also used to distinguish draw requests generated by derived UI objects from those generated by base classes. It some cases, it provides a way of indicating that a component should be displayed without creating a component MObject.

Examples:

MDrawRequest & MDrawRequest::operator= ( const MDrawRequest other  ) 

Assignment operator.

Parameters:
[in] other MDrawRequest object to copy from.


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