MPxMaterialInformation Class Reference
[OpenMaya - API module for common classesProxy classes]

#include <MPxMaterialInformation.h>
Collaboration diagram for MPxMaterialInformation:
Collaboration graph
[legend]

List of all members.


Detailed Description

Material information proxy.

The MPxMaterialInformation class is a way for users to override the viewport representation of shaders. The viewport uses a simple phong model for display in the viewport. With this class users can provide their own values for the phong shading parameters.


Public Types

enum   MaterialType { kSimpleMaterial = 0, kTexture, kOverrideDraw }
  Material types. These affect how the material is shaded. More...

Public Member Functions

  MPxMaterialInformation (MObject &materialNode)
virtual  ~MPxMaterialInformation ()
bool  useMaterialAsTexture ()
virtual bool  materialInfoIsDirty (const MPlug &plug)=0
virtual bool  connectAsTexture (const MPlug &plug)=0
virtual bool  textureDisconnected (const MPlug &plug)=0
virtual bool  computeMaterial (MaterialInputData &data)=0

Protected Member Functions

  MPxMaterialInformation ()
  Default constructor.

Protected Attributes

MObject  fMaterialNode
  The shader node this material is based on.
MaterialType  fMaterialType

Friends

class  MFnPlugin

Member Enumeration Documentation

Material types. These affect how the material is shaded.

Enumerator:
kSimpleMaterial   
kTexture   
kOverrideDraw   

Constructor & Destructor Documentation

MPxMaterialInformation::MPxMaterialInformation ( MObject materialNode  ) 

Constructor

Parameters:
[in]  materialNode  material info node

MPxMaterialInformation::~MPxMaterialInformation (  )  [virtual]

The class destructor.


Member Function Documentation

bool MPxMaterialInformation::useMaterialAsTexture (  ) 

Tells Maya whether to this material should be displayed as a texture, ie whether it should be baked.

Returns:
true if the material should be baked texture

bool MPxMaterialInformation::materialInfoIsDirty ( const MPlug plug  )  [pure virtual]

Called by Maya to when a plug on the shader has been changed. This method tells Maya if the material information is dirty. If it is dirty Maya triggers a refresh of the viewport.

Parameters:
[in]  plug  the plug that was changed
Returns:
true if the material information is dirty, false otherwise

bool MPxMaterialInformation::connectAsTexture ( const MPlug plug  )  [pure virtual]

Called by Maya to when an incoming connection is made to plug on the shader. This method tells Maya if connection should be treated as a to a texture. If the connection is treated as a texture the Maya will bake the properties of the source plug for display in the viewport. Currently only one channel/plug on the shader can be treated as a texture.

Parameters:
[in]  plug  the plug that was connected
Returns:
true if connection should be treated as a texture, false otherwise

bool MPxMaterialInformation::textureDisconnected ( const MPlug plug  )  [pure virtual]

Called whenever an incoming connection to the shader is broken.

Parameters:
[in]  plug  the plug that was disconnected.
Returns:
true if connection should be treated as a texture, false otherwise

bool MPxMaterialInformation::computeMaterial ( MaterialInputData data  )  [pure virtual]

Compute the material properties/information for the shader. These properties are the parameters for a simple phong shading model used for display in the viewport

Parameters:
[in]  data  the material properties/information
Returns:
true if valid material properties/information were created, false otherwise

Member Data Documentation

Based on the material type the shader will be rendered differently in the Maya viewport


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