C++ API Reference
|
MPx3dModelView is the class for user defined model views. More...
#include <MPx3dModelView.h>
Public Types | |
enum | LightingMode { kLightAll, kLightSelected, kLightActive, kLightDefault, kLightNone, kLightQuality } |
Lighting mode used in this view. More... | |
enum | FogSource { kFogFragment, kFogCoordinate } |
Fog computation modes. More... | |
enum | FogMode { kFogLinear, kFogExponential, kFogExponentialSquared } |
Drop-off modes for fog. More... | |
Public Member Functions | |
MPx3dModelView () | |
class constructor | |
virtual | ~MPx3dModelView () |
class destructor | |
MString | name (MStatus *ReturnStatus=NULL) const |
Returns the name of the view. More... | |
virtual MString | viewType () const |
Returns a string specifying the view type. More... | |
virtual void | preMultipleDraw () |
This method is called before any drawing is performed in the model view. More... | |
virtual void | postMultipleDraw () |
This method is called after the drawing is finished. More... | |
virtual void | preMultipleDrawPass (unsigned int index) |
This method is called immediately before a specific pass is about to be drawn. More... | |
virtual void | postMultipleDrawPass (unsigned int index) |
This method is called when a specified pass is finshed. More... | |
virtual bool | okForMultipleDraw (const MDagPath &) |
This method provides some filter capabilities as to what is drawn. More... | |
virtual unsigned int | multipleDrawPassCount () |
This method returns the number of multiple draw passes that are going to be made. More... | |
bool | multipleDrawEnabled () const |
This method returns the multiple draw enable state for this view. More... | |
void | setMultipleDrawEnable (bool enable) |
This method turns enables/disables multiple camera drawing for this view. More... | |
bool | destroyOnPanelDestruction () const |
This method queries the destruction setting for this MPx3dModelView which is employed when the panel associated with this view is destroyed. More... | |
void | setDestroyOnPanelDestruction (bool how) |
This method enables/disables destruction of the MPx3dModelView object when the panel is destroyed. More... | |
MStatus | updateViewingParameters () |
This method tells the camera to set the view's transformation matrix. More... | |
virtual void | removingCamera (MDagPath &cameraPath) |
This method should be overloaded in MPx3dModelView derived classes. More... | |
MStatus | setDoUpdateOnMove (bool value) |
Some viewports require a refresh when the user has moved the top level window. More... | |
bool | doUpdateOnMove (MStatus *ReturnStatus=NULL) const |
Returns the state of the doUpdateOnMove flag. More... | |
MStatus | refresh (bool all=false, bool force=false) |
Refresh the this view. More... | |
MStatus | drawText (const MString &text, const MPoint position, M3dView::TextPosition textPosition=M3dView::kLeft) |
Draws the given text at the given spot in the default font. More... | |
MStatus | beginGL () |
Setup port for native OpenGL drawing calls. More... | |
MStatus | endGL () |
End OpenGL drawing. More... | |
MStatus | setCameraInDraw (MDagPath &camera) |
Sets the camera during a draw. More... | |
MStatus | setDrawCameraOverride (const MMatrix &worldMatrix, const MMatrix &projectionMatrix, double left, double right, double bottom, double top, double nearpt, double farpt, bool isOrtho=false) |
Sets the camera during a draw. More... | |
MStatus | setDrawCameraOverride (const MMatrix &worldMatrix, const MMatrix &projectionMatrix, const MPointArray &frustum) |
Sets the camera during a draw. More... | |
MStatus | setCamera (MDagPath &camera) |
Set the camera for this view. More... | |
MStatus | getCamera (MDagPath &camera) |
Get the camera for this view. More... | |
MStatus | setCameraSet (MObject &cameraSet) |
Set the cameraSet for this view. More... | |
MStatus | getCameraSet (MObject &cameraSet) |
Get the cameraSet for this view. More... | |
MStatus | setCurrentCameraSetCamera (const MString &cameraName) |
Set a camera used by the currently specified cameraSet as the controlled camera for this view. More... | |
MStatus | getCurrentCameraSetCamera (MString &cameraName) |
Get the cameraSet for this view. More... | |
virtual MString | getCameraHUDName () |
Return the name to use for the camera in the heads up display. More... | |
MStatus | setDisplayHUD (bool display) |
Enables or disables the drawing the heads up display in this view. More... | |
bool | displayHUD (MStatus *ReturnStatus=NULL) const |
Returns the heads up display state for this view. More... | |
MStatus | drawHUDNow () |
Forces the HUD viewport elements to be drawn immediately. More... | |
MStatus | setDrawAdornments (bool display) |
Toggles the control of how adornments are drawn in the view. More... | |
bool | drawAdornments (MStatus *ReturnStatus=NULL) |
Returns the state of the adornment drawing for this view. More... | |
MStatus | drawAdornmentsNow () |
Forces the adornment viewport elements to be drawn immediately. More... | |
MStatus | setDisplayAxis (bool display) |
Sets the axis display in the MPx3dModelView. More... | |
bool | displayAxisOn (MStatus *ReturnStatus=NULL) const |
Returns the axis display state for this MPx3dModelView. More... | |
MStatus | setDisplayAxisAtOrigin (bool display) |
Sets the origin axis display in the MPx3dModelView. More... | |
bool | displayAxisAtOriginOn (MStatus *ReturnStatus=NULL) const |
Returns the origin axis display state for this MPx3dModelView. More... | |
MStatus | setDisplayCameraAnnotation (bool display) |
Sets the camera annotation display in the MPx3dModelView. More... | |
bool | displayCameraAnnotationOn (MStatus *ReturnStatus=NULL) const |
Returns the camera annotation display state for this MPx3dModelView. More... | |
bool | isVisible (MStatus *ReturnStatus=NULL) const |
This method returns true if this view is visible, otherwise false is returned. More... | |
M3dView::DisplayStyle | displayStyle (MStatus *ReturnStatus=NULL) const |
Return the display style for this 3d view. More... | |
bool | isShadeActiveOnly (MStatus *ReturnStatus=NULL) const |
Returns true if this view's display style is shaded for objects that are active and wireframe otherwise. More... | |
MStatus | setDisplayStyle (M3dView::DisplayStyle style, bool activeOnly=false) |
Sets the display style for this view. More... | |
int | portWidth (MStatus *ReturnStatus=NULL) |
Returns the width of the current viewport. More... | |
int | portHeight (MStatus *ReturnStatus=NULL) |
Returns the height of the current viewport. More... | |
MStatus | beginXorDrawing (bool drawOrthographic=true, bool disableDepthTesting=true, float lineWidth=1.0f, M3dView::LineStipplePattern stipplePattern=M3dView::kStippleNone, const MColor &lineColor=MColor(1, 1, 1)) |
Setup the context for exclusive-or (XOR) drawing. More... | |
MStatus | endXorDrawing () |
Reset the context to non-exclusive-or (non-XOR) screen drawing. More... | |
MStatus | setDrawColor (unsigned int index, M3dView::ColorTable table=M3dView::kActiveColors) |
Set the color to draw in. More... | |
MStatus | setDrawColor (const MColor &color) |
Set the color to draw in. More... | |
unsigned int | numDormantColors (MStatus *ReturnStatus=NULL) |
Returns the number of dormant object colors in the internal application color table. More... | |
unsigned int | numActiveColors (MStatus *ReturnStatus=NULL) |
Returns the number of active object colors in the internal application color table. More... | |
unsigned int | numUserDefinedColors (MStatus *ReturnStatus=NULL) |
Returns the number of user defined colors in the internal application color table. More... | |
MStatus | setUserDefinedColor (unsigned int index, const MColor &color) |
Sets the user defined color at the given index. More... | |
unsigned int | userDefinedColorIndex (unsigned int index, MStatus *ReturnStatus=NULL) |
Returns the index for the given user-defined color. More... | |
bool | isBackgroundGradient (MStatus *ReturnStatus=NULL) |
Returns whether a gradient is being used as the background color. More... | |
MColor | templateColor (MStatus *ReturnStatus=NULL) |
Returns the value of the template color. More... | |
MColor | backgroundColor (MStatus *ReturnStatus=NULL) |
Returns the value of the background color. More... | |
MColor | backgroundColorTop (MStatus *ReturnStatus=NULL) |
Returns the value of the background gradient top color. More... | |
MColor | backgroundColorBottom (MStatus *ReturnStatus=NULL) |
Returns the value of the background gradient bottom color. More... | |
MColor | colorAtIndex (unsigned int index, M3dView::ColorTable table=M3dView::kActiveColors, MStatus *ReturnStatus=NULL) |
Returns the value of the color at the given index in the application's color table. More... | |
MStatus | getColorIndexAndTable (unsigned int glindex, unsigned int &index, M3dView::ColorTable &table) const |
Returns the color table and index representing the given OpenGL color-index value. More... | |
MStatus | viewToWorld (short x_pos, short y_pos, MPoint &worldPt, MVector &worldVector) const |
Takes a point in port coordinates and returns a corresponding ray in world coordinates. More... | |
MStatus | viewToWorld (short x_pos, short y_pos, MPoint &nearClipPt, MPoint &farClipPt) const |
Takes a point in port coordinates and returns a point on the near and far clipping planes. More... | |
MStatus | viewToObjectSpace (short x_pos, short y_pos, const MMatrix &localMatrixInverse, MPoint &oPt, MVector &oVector) const |
Takes a point in port coordinates and returns a corresponding ray in object coordinates. More... | |
bool | worldToView (const MPoint &worldPt, short &x_pos, short &y_pos, MStatus *ReturnStatus=NULL) const |
converts a point in world space to port space. More... | |
MStatus | setObjectDisplay (M3dView::DisplayObjects, bool) |
Sets the display option for various types of objects. More... | |
bool | objectDisplay (M3dView::DisplayObjects, MStatus *ReturnStatus=NULL) |
Test whether specific types of objects are to be displayed. More... | |
MStatus | setBackfaceCulling (bool cull) |
Sets backface culling. More... | |
bool | isBackfaceCulling (MStatus *ReturnStatus=NULL) const |
Returns the state of backface culling. More... | |
MStatus | setWireframeOnShaded (bool on) |
Displays as wireframe on shaded. More... | |
bool | isWireframeOnShaded (MStatus *ReturnStatus=NULL) const |
Returns the state of wireframe on shaded. More... | |
MStatus | setXrayEnabled (bool xray) |
Sets xray display state. More... | |
bool | isXrayEnabled (MStatus *ReturnStatus=NULL) const |
Returns the state of xray display. More... | |
MStatus | setTextureDisplayEnabled (bool texture) |
Enables texture display. More... | |
bool | isTextureDisplayEnabled (MStatus *ReturnStatus=NULL) const |
Returns the enable state of texture display. More... | |
MStatus | setTwoSidedLighting (bool twoSided) |
Enables two sided lighting. More... | |
bool | isTwoSidedLighting (MStatus *ReturnStatus=NULL) const |
Returns the state of two sided lighting. More... | |
MStatus | setLightingMode (MPx3dModelView::LightingMode) |
Sets the lighting mode. More... | |
MPx3dModelView::LightingMode | lightingMode (MStatus *ReturnStatus=NULL) const |
Returns the lighting mode. More... | |
MStatus | setFogEnabled (bool state) |
Enables and disables fog. More... | |
bool | isFogEnabled (MStatus *ReturnStatus=NULL) const |
Returns true if fog is enabled. More... | |
MPx3dModelView::FogSource | fogSource (MStatus *ReturnStatus=NULL) const |
Returns the algorithm used to compute fog. More... | |
MStatus | setFogSource (MPx3dModelView::FogSource) |
Sets the type of fog algorithm to use. More... | |
MPx3dModelView::FogMode | fogMode (MStatus *ReturnStatus=NULL) const |
Return the type of drop off used with fog. More... | |
MStatus | setFogMode (MPx3dModelView::FogMode) |
Sets the drop-off mode for fog. More... | |
double | fogDensity (MStatus *ReturnStatus=NULL) const |
Returns the fog density. More... | |
MStatus | setFogDensity (double) |
Determines the density of hardware fogging. More... | |
double | fogStart (MStatus *ReturnStatus=NULL) const |
Returns the fog start position. More... | |
MStatus | setFogStart (double) |
Determines the start location of hardware fogging. More... | |
double | fogEnd (MStatus *ReturnStatus=NULL) const |
Returns the fog end position. More... | |
MStatus | setFogEnd (double) |
Determines the end location of hardware fogging. More... | |
MColor | fogColor (MStatus *ReturnStatus=NULL) const |
Returns the fog color. More... | |
MStatus | setFogColor (const MColor &) |
Sets the color used for hardware fogging. More... | |
bool | isBackgroundFogEnabled (MStatus *ReturnStatus=NULL) const |
Returns true if the background fog is enabled. More... | |
MStatus | setBackgroundFogEnabled (bool enable) |
Enables and disables background fog. More... | |
MString | viewSelectedPrefix (MStatus *ReturnStatus) const |
Returns the prefix used when displaying the camera name in the heads up display when view selected in on. More... | |
MStatus | setViewSelectedPrefix (const MString &prefix) |
Sets the prefix for the camera name as displayed in the heads up display when view selected is enabled. More... | |
bool | viewSelected (MStatus *ReturnStatus=NULL) const |
Returns the state of view selected for this view. More... | |
MStatus | setViewSelected (bool viewSelected) |
Enables the view selected mode. More... | |
MObject | viewSelectedSet (MStatus *ReturnStatus=NULL) const |
Returns an MObject for the set used by view selected. More... | |
MStatus | setViewSelectedSet (const MObject &set) |
Sets the list of objects used by view selected as an object set. More... | |
MStatus | getObjectsToView (MSelectionList &list) const |
Returns a selection list containing all of the objects on the view selected list. More... | |
MStatus | setObjectsToView (const MSelectionList &list) |
Sets the list of objects used by view selected as a selection list. More... | |
bool | viewIsFiltered (MStatus *ReturnStatus=NULL) const |
Returns the state of view filtering for this view. More... | |
MStatus | filteredObjectList (MSelectionList &list) const |
Returns a selection list containing all of the objects that remain after filtering is applied to the view. More... | |
bool | hasStereoBufferSupport () const |
Returns true if this 3dModelView is running in stereo buffer mode. More... | |
MStatus | getAsM3dView (M3dView &view) |
Get this MPx3dModelView as a M3dView. More... | |
virtual bool | wantStereoGLBuffer () const |
Users should override this method if they want a stereo buffer enabled MPx3dModelView. More... | |
MStatus | setInStereoDrawMode (bool flag) |
Derived classes should call this method to indicate to Maya whether the view is currently drawing in stereo. More... | |
virtual bool | requestOkForDraw (const MDrawRequest &) |
This method provides some filter capabilities as to what is drawn. More... | |
Static Public Member Functions | |
static MPx3dModelView * | getModelView (const MString &name, MStatus *ReturnStatus=NULL) |
Returns a pointer to a MPx3dModelView that has the passed name with the specified type (the same typed when registering the control). More... | |
static const char * | className () |
Returns the name of this class. More... | |
MPx3dModelView is the class for user defined model views.
The MPx3dModelView class works with the MPxModelEditorCommand class to create a user defined model editor that may be used in a window or in a scripted panel. When registering the model editor with the MFnPlugin::registerModelEditorCommand() method, an appropriate MPx3dModelView::creator() method is required. This class works for interactive Maya views and is not designed for rendering.
One of the interesting uses of a MPx3dModelView is that it allows multiple cameras to be drawn into the same window. Like a normal model view, this view has a main camera associated with it. This camera is obtained with the getCamera() method and is the camera used for manipulations and selection.
To setup a multiple camera draw, first the number of passes must be set by an overloaded multipleDrawPassCount() method. The preMultipleDraw() method allows any setup to be performed. The preMultipleDrawPass(unsigned int) is called for each pass, with the argument indicating which pass is currently being used. The camera for the specific pass may be set with the setCameraInDraw() method. The postMultipleDrawPass(unsigned int) method is called after the drawing for the indicated pass is complete. Finally any cleanup may be done with the postMultipleDraw() method.
During the drawing, a filter exists to determine which items should be drawn. The okForMultipleDraw(MdagPath &) allows filtering of what should be drawn. Another approach which is faster is to tuen on the view selected mode (setViewSelected()) and use the setObjectsToView() or viewSelectedSet() to specify which items should be drawn. These values may be set per pass so that each camera has control over what gets drawn.
This method is obsolete. [from before Maya 2016]
enum LightingMode |
enum FogSource |
enum FogMode |
Returns the name of the view.
[out] | ReturnStatus | status |
|
virtual |
Returns a string specifying the view type.
The view type should be a different string for every class derived from MPx3dModelView. The default type is "MPx3dModelView".
|
virtual |
This method is called before any drawing is performed in the model view.
It should control any setting required for every pass that will be drawn.
|
virtual |
This method is called after the drawing is finished.
Any cleanup should be done by this method.
|
virtual |
This method is called immediately before a specific pass is about to be drawn.
The unsigned int argument indictates which pass is about to be drawn.
Typically the camera (set with the setCameraInDraw method) and any pass specific settings would be made here.
[in] | index | A number indicating which pass is about to be drawn. |
|
virtual |
This method is called when a specified pass is finshed.
[in] | index | A number indicating which pass was just drawn. |
|
virtual |
This method provides some filter capabilities as to what is drawn.
When ever a draw operation during the multiple camera drawing, this method will get called. If true is returned, then the object will be drawn.
This method is useful for filtering out multiple occurances of manipulators and ground planes.
To reduce the number of objects queried, look at the setViewSelected() method along with the setObjectsToView() method.
[in] | dp | A MDagPath of the object that may be drawn. |
|
virtual |
This method returns the number of multiple draw passes that are going to be made.
By default a 1 is returned.
bool multipleDrawEnabled | ( | ) | const |
This method returns the multiple draw enable state for this view.
void setMultipleDrawEnable | ( | bool | enable | ) |
This method turns enables/disables multiple camera drawing for this view.
If multiple draw is disabled, then this view will behave like a normal Maya view.
[in] | enable | If true, then multiple draw is enabled. |
bool destroyOnPanelDestruction | ( | ) | const |
This method queries the destruction setting for this MPx3dModelView which is employed when the panel associated with this view is destroyed.
By choosing to have the MPx3dModelView destroyed along with the panel, you are guaranteed that a new MPx3dModelView will be created the next time the editor is displayed.
void setDestroyOnPanelDestruction | ( | bool | how | ) |
This method enables/disables destruction of the MPx3dModelView object when the panel is destroyed.
By default, Maya does not destroy the MPx3dModelView when the panel is destroyed. Example cases of destroying a panel are when you tear off a panel, or close a torn-off panel.
By choosing to have the MPx3dModelView destroyed along with the panel, you are guaranteed that a new MPx3dModelView will be created the next time the editor is displayed.
[in] | how | If true, destroy the MPx3dModelView when the panel is destroyed. If false (the default behaviour), the editor is retained. |
MStatus updateViewingParameters | ( | ) |
This method tells the camera to set the view's transformation matrix.
|
virtual |
This method should be overloaded in MPx3dModelView derived classes.
It will get called whenever a camera that was used with this MPx3dModelView is deleted. The MPx3dModelView should then remove any reference to the deleted camera.
[in] | cameraPath | The MDagPath for the camera that is about to be deleted. |
MStatus setDoUpdateOnMove | ( | bool | value | ) |
Some viewports require a refresh when the user has moved the top level window.
This flag enables this custom view to trigger a refresh event when the top level window of the view is moved to a new location.
The default value for this flag is false.
[in] | value | The state of the doUpdateOnMove flag. |
bool doUpdateOnMove | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of the doUpdateOnMove flag.
This flag tells the refresh architecture if it is necessary to refresh your view when the user moves the control window for this viewport. If this flag is true, then refresh will be triggered on window move.
[in] | ReturnStatus | return status of the check |
MStatus refresh | ( | bool | all = false , |
bool | force = false |
||
) |
Refresh the this view.
If all is set to true then all of the 3d-view will be refreshed.
If force is set to true, then the views will be refreshed even if they do not require it. This option should be used with extreme care because extra refreshes will greatly degrade application performance. In almost all cases it is better to use the default behavior where the view is only refreshed if it is required.
[in] | all | If true then refresh all views, otherwise refresh this view. |
[in] | force | If true then force views to refresh even if they do not require it. |
MStatus drawText | ( | const MString & | text, |
const MPoint | position, | ||
M3dView::TextPosition | textPosition = M3dView::kLeft |
||
) |
Draws the given text at the given spot in the default font.
This method is provided as a convienient way to draw OpenGL text.
[in] | text | Text to draw |
[in] | position | Position in space to draw at |
[in] | textPosition | Text position relative to the point |
MStatus beginGL | ( | ) |
Setup port for native OpenGL drawing calls.
Only make openGL calls between the beginGL() and endGL() methods. M3dView and MPx3dModelView calls should not be made betwen beginGL() and endGL() calls.
This should only be used if there is not a M3dView or MPx3dModelView method that performs the required task.
MStatus endGL | ( | ) |
End OpenGL drawing.
Sets the camera during a draw.
If the normal setCamera() method is used, then that camera will not get its parameters loaded during the draw.
[in] | camera | Dag path of the camera |
MStatus setDrawCameraOverride | ( | const MMatrix & | worldMatrix, |
const MMatrix & | projectionMatrix, | ||
double | left, | ||
double | right, | ||
double | bottom, | ||
double | top, | ||
double | nearpt, | ||
double | farpt, | ||
bool | isOrtho = false |
||
) |
Sets the camera during a draw.
Users must supply all of the parameters of the cameras. This only affects the draw matrices.
Maya uses view frustum culling to remove objects from the draw loop. To override the draw camera, you must also provide the frustum left, right, bottom, top parameters.
[in] | worldMatrix | the worldMatrix of the camera. This will be used to construct the view matrix. |
[in] | projectionMatrix | projection matrix of the camera. |
[in] | left | the left edge of the frustum. |
[in] | right | the right edge of the frustum. |
[in] | bottom | the bottom edge of the frustum. |
[in] | top | the top edge of the frustum. |
[in] | nearpt | the near pt of the frustum. |
[in] | farpt | the far pt of the frustum. |
[in] | isOrtho | indicates if the frustum pts correspond to an ortho camera (default is false). |
MStatus setDrawCameraOverride | ( | const MMatrix & | worldMatrix, |
const MMatrix & | projectionMatrix, | ||
const MPointArray & | frustum | ||
) |
Sets the camera during a draw.
Users must supply all of the parameters of the cameras. This only affects the draw matrices.
Maya uses view frustum culling to remove objects from the draw loop. To override the draw camera, you must also provide the frustum points so that objects and be appropriately culled from the scene.
[in] | worldMatrix | the worldMatrix of the camera. This will be used to construct the view matrix. |
[in] | projectionMatrix | projection matrix of the camera. |
[in] | frustum | The 8 frustum points in the following order nearBottomLeft, nearBottomRight, nearTopLeft, nearTopRight, farBottomLeft, farBottomRight, farTopLeft, farTopRight |
Set the camera for this view.
[in] | camera | Dag path of the camera for this view |
Get the camera for this view.
[out] | camera | Dag path for the camera (allocated by caller) |
Set the cameraSet for this view.
[in] | cameraSet | cameraSet object for this view |
Get the cameraSet for this view.
[out] | cameraSet | dependency node object for the cameraSet (allocated by caller) |
Set a camera used by the currently specified cameraSet as the controlled camera for this view.
[in] | cameraName | camera layer camera name for this view |
Get the cameraSet for this view.
[out] | cameraName | dependency node object for the cameraSet (allocated by caller) |
|
virtual |
Return the name to use for the camera in the heads up display.
MStatus setDisplayHUD | ( | bool | enable | ) |
Enables or disables the drawing the heads up display in this view.
This method only affects this view and will stop all heads up display elements from being drawn in this view.
[in] | enable | The enable state of the heads up display in this view. |
bool displayHUD | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the heads up display state for this view.
[out] | ReturnStatus | the return status |
MStatus drawHUDNow | ( | ) |
Forces the HUD viewport elements to be drawn immediately.
This should only be called when setDrawAdornments has been set to false. And this method should only be called in the postMultiple* draw methods. This allows the drawing of display elements during a specific pass while attached to a specific camera.
MStatus setDrawAdornments | ( | bool | display | ) |
Toggles the control of how adornments are drawn in the view.
Adornments are objects that are drawn in the viewport that are not scene entities. This includes the origin axis and the camera decorations like film gate and resolution gate. These items are usually drawn last and outside of the multiple refresh loop. You can choose to disable the drawing of the adornments by specifying false here, and you can control the drawing of the feature within their display loop calling displayAdornmentsNow() method on this class. By default this flag is true; so adornments are always drawn unless explicitly disabled by you.
[in] | display | toggle to control the display of the adornments. |
bool drawAdornments | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the state of the adornment drawing for this view.
See setDrawAdornments for more information on adornment drawing.
[out] | ReturnStatus | Status code. |
MStatus drawAdornmentsNow | ( | ) |
Forces the adornment viewport elements to be drawn immediately.
This should only be called when setDrawAdornments has been set to false. And this method should only be called in the postMultiple* draw methods. This allows you to draw camera adornments during a specific pass while attached to a specific camera.
MStatus setDisplayAxis | ( | bool | enable | ) |
Sets the axis display in the MPx3dModelView.
[in] | enable | If true, then the axis is displayed. |
bool displayAxisOn | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the axis display state for this MPx3dModelView.
[out] | ReturnStatus | The return status. |
MStatus setDisplayAxisAtOrigin | ( | bool | enable | ) |
Sets the origin axis display in the MPx3dModelView.
[in] | enable | If true, then the origin axis is displayed. |
bool displayAxisAtOriginOn | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the origin axis display state for this MPx3dModelView.
[out] | ReturnStatus | The return status. |
MStatus setDisplayCameraAnnotation | ( | bool | enable | ) |
Sets the camera annotation display in the MPx3dModelView.
[in] | enable | If true, then the camera annotation is displayed. |
bool displayCameraAnnotationOn | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the camera annotation display state for this MPx3dModelView.
[out] | ReturnStatus | The return status. |
bool isVisible | ( | MStatus * | ReturnStatus = NULL | ) | const |
This method returns true if this view is visible, otherwise false is returned.
[out] | ReturnStatus | The return status. |
M3dView::DisplayStyle displayStyle | ( | MStatus * | ReturnStatus = NULL | ) | const |
Return the display style for this 3d view.
The display style can be wireframe, flat-shaded, or smooth-shaded.
[out] | ReturnStatus | Status code |
bool isShadeActiveOnly | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns true if this view's display style is shaded for objects that are active and wireframe otherwise.
[out] | ReturnStatus | Status code |
MStatus setDisplayStyle | ( | M3dView::DisplayStyle | style, |
bool | activeOnly = false |
||
) |
Sets the display style for this view.
The display style can be wireframe, flat-shaded, or smooth-shaded.
[in] | style | The display style to be set for this view |
[in] | activeOnly | Specifies whether only active objects are to be shaded in shaded mode. |
int portWidth | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the width of the current viewport.
[out] | ReturnStatus | Status Code |
int portHeight | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the height of the current viewport.
[out] | ReturnStatus | Status Code |
MStatus beginXorDrawing | ( | bool | drawOrthographic = true , |
bool | disableDepthTesting = true , |
||
float | lineWidth = 1.0f , |
||
M3dView::LineStipplePattern | stipplePattern = M3dView::kStippleNone , |
||
const MColor & | lineColor = MColor(1, 1, 1) |
||
) |
Setup the context for exclusive-or (XOR) drawing.
In XOR drawing the color values of the pixels being drawn is exclusive-ored with the color values already present in the view. The advantage of this is that exclusive-oring the same pixels with the same color values a second time will restore the pixels to their original colors, making it possible to temporarily display and erase lines without having to redraw the entire view. This makes XOR drawing particularly useful for drawing guidelines for tools.
One disadvantage of XOR drawing is that the final color after the exclusive-or will not match your drawing color, except when the original color of the pixel was black. For example, XORing a white line across a red background will result in a cyan line and XORing it across a changing background will result in a line of changing colors. However in most situations where you would use XOR drawing the color of the lines is irrelevant just so long as they are visible.
It is an error to call beginXorDrawing() again before calling endXorDrawing() first.
[in] | drawOrthographic | Draw using orthographic projection. Default is true. |
[in] | disableDepthTesting | Disable depth testing during draw. Default is true. |
[in] | lineWidth | Set up line width. Default is 1. |
[in] | stipplePattern | Line stipple pattern. Default is M3dView::kStippleNone. |
[in] | lineColor | Line color. Default is white (1,1,1). |
MStatus endXorDrawing | ( | ) |
Reset the context to non-exclusive-or (non-XOR) screen drawing.
If endXorDrawing() is called without first calling beginXorDrawing() an error will result.
MStatus setDrawColor | ( | unsigned int | index, |
M3dView::ColorTable | table = M3dView::kActiveColors |
||
) |
Set the color to draw in.
The index argument is an index into the application's color tables. Valid values range between zero and the size of the table minus one. The size of the active and dormant color tables can be found using methods of this class. The background and template color tables are both of size one.
These indices do not directly correspond to those of the underlying OpenGL color index mode. Using the glIndex call directly is not recommended and may cause unpredictable results. This method should be used instead.
Note that this method will work in either RGBA mode or color index mode.
[in] | index | index of the color to draw in |
[in] | table | color table to index into |
Set the color to draw in.
This method should only be used in RGBA mode. It is a convenient replacement for glColor.
[in] | color | color to draw in |
unsigned int numDormantColors | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the number of dormant object colors in the internal application color table.
[out] | ReturnStatus | Status code |
unsigned int numActiveColors | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the number of active object colors in the internal application color table.
[out] | ReturnStatus | Status code |
unsigned int numUserDefinedColors | ( | MStatus * | ReturnStatus = NULL | ) |
Returns the number of user defined colors in the internal application color table.
These colors may be changed by the user and assigned to specific objects. See the methods of MFnDagNode for information on assigning user defined colors to individual objects.
The user defined colors are not a color table of their own. They exist in the active and dormant color tables.
[out] | ReturnStatus | Status code |
Sets the user defined color at the given index.
Valid indices range between zero and the number of user defined colors.
[in] | index | index into the user defined color |
[in] | color | color to set to |
unsigned int userDefinedColorIndex | ( | unsigned int | index, |
MStatus * | ReturnStatus = NULL |
||
) |
Returns the index for the given user-defined color.
Valid values for the index argument range between zero and the number of user-defined colors minus one.
The index returned gives the location of the specified color inside the active and dormant color tables (the index is the same in both tables).
[in] | index | Index into user-defined colors |
[out] | ReturnStatus | Status code |
bool isBackgroundGradient | ( | MStatus * | ReturnStatus = NULL | ) |
Returns whether a gradient is being used as the background color.
[out] | ReturnStatus | Status code |
Returns the value of the template color.
[out] | ReturnStatus | Status code |
Returns the value of the background color.
[out] | ReturnStatus | Status code |
Returns the value of the background gradient top color.
[out] | ReturnStatus | Status code |
Returns the value of the background gradient bottom color.
[out] | ReturnStatus | Status code |
MColor colorAtIndex | ( | unsigned int | index, |
M3dView::ColorTable | table = M3dView::kActiveColors , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Returns the value of the color at the given index in the application's color table.
[in] | index | Index of the color to retrieve |
[in] | table | Table to index into |
[out] | ReturnStatus | Status code |
MStatus getColorIndexAndTable | ( | unsigned int | glindex, |
unsigned int & | index, | ||
M3dView::ColorTable & | table | ||
) | const |
Returns the color table and index representing the given OpenGL color-index value.
This method is useful when converting color indices obtained from glReadPixels(GL_COLOR_INDEX) to Maya color-index values suitable for use with the colorAtIndex and setDrawColor methods.
[in] | glindex | Value of the OpenGL color-index to retrieve |
[out] | index | Returned ColorTable index |
[out] | table | Returned ColorTable |
Takes a point in port coordinates and returns a corresponding ray in world coordinates.
[in] | x_pos | the x position of the point in port coordinates |
[in] | y_pos | the y position of the point in port coordinates |
[out] | worldPt | (returned) the source of the ray |
[out] | worldVector | (returned) the direction of the ray |
Takes a point in port coordinates and returns a point on the near and far clipping planes.
[in] | x_pos | the x position of the point in port coordinates |
[in] | y_pos | the y position of the point in port coordinates |
[out] | nearClipPt | (returned) point on near clipping plane |
[out] | farClipPt | (returned) point on far clipping plane |
MStatus viewToObjectSpace | ( | short | x_pos, |
short | y_pos, | ||
const MMatrix & | localMatrixInverse, | ||
MPoint & | oPt, | ||
MVector & | oVector | ||
) | const |
Takes a point in port coordinates and returns a corresponding ray in object coordinates.
[in] | x_pos | the x position of the point in port coordinates |
[in] | y_pos | the y position of the point in port coordinates |
[in] | localMatrixInverse | the inclusive matrix inverse of the object in question |
[out] | oPt | (returned) the source of the ray in object space |
[out] | oVector | (returned) the direction of the ray in object space |
bool worldToView | ( | const MPoint & | worldPt, |
short & | x_pos, | ||
short & | y_pos, | ||
MStatus * | ReturnStatus = NULL |
||
) | const |
converts a point in world space to port space.
The return value indicates if the point is not clipped.
[in] | worldPt | the point to world space |
[out] | x_pos | the x position of the point in port coordinates |
[out] | y_pos | the y position of the point in port coordinates |
[out] | ReturnStatus | Status code |
MStatus setObjectDisplay | ( | M3dView::DisplayObjects | displayType, |
bool | display | ||
) |
Sets the display option for various types of objects.
By default everything is displayed.
[in] | displayType | The type of object to display |
[in] | display | Should the object type be displayed? |
bool objectDisplay | ( | M3dView::DisplayObjects | dispObjs, |
MStatus * | ReturnStatus = NULL |
||
) |
Test whether specific types of objects are to be displayed.
[in] | dispObjs | Bit mask of object display flags to be tested. |
[out] | ReturnStatus | Status code. |
MStatus setBackfaceCulling | ( | bool | culling | ) |
Sets backface culling.
[in] | culling | sets the backface culling state |
bool isBackfaceCulling | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of backface culling.
[out] | ReturnStatus | return status |
MStatus setWireframeOnShaded | ( | bool | onShaded | ) |
Displays as wireframe on shaded.
[in] | onShaded | sets the wireframe on shaded state |
bool isWireframeOnShaded | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of wireframe on shaded.
[out] | ReturnStatus | return status |
MStatus setXrayEnabled | ( | bool | xray | ) |
Sets xray display state.
[in] | xray | sets the xray display state |
bool isXrayEnabled | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of xray display.
[out] | ReturnStatus | return status |
MStatus setTextureDisplayEnabled | ( | bool | textureDisplay | ) |
Enables texture display.
[in] | textureDisplay | sets the texture display state |
bool isTextureDisplayEnabled | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the enable state of texture display.
[out] | ReturnStatus | return status |
MStatus setTwoSidedLighting | ( | bool | twoSided | ) |
Enables two sided lighting.
[in] | twoSided | sets the two sided lighting state |
bool isTwoSidedLighting | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of two sided lighting.
[out] | ReturnStatus | return status |
MStatus setLightingMode | ( | MPx3dModelView::LightingMode | lightingMode | ) |
Sets the lighting mode.
[in] | lightingMode | sets the lighting mode |
MPx3dModelView::LightingMode lightingMode | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the lighting mode.
[out] | ReturnStatus | return status |
MStatus setFogEnabled | ( | bool | state | ) |
Enables and disables fog.
If fog is enabled for one pass and disabled for another, the background fog will not be drawn. To display background fog in that configuration, use the MPx3dModelView::setBackgroundFogEnabled() call.
[in] | state | true is fog should be on. |
bool isFogEnabled | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns true if fog is enabled.
[out] | ReturnStatus | status |
MPx3dModelView::FogSource fogSource | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the algorithm used to compute fog.
See MPx3dModelView::setFogSource for a description.
[out] | ReturnStatus | status |
MStatus setFogSource | ( | MPx3dModelView::FogSource | source | ) |
Sets the type of fog algorithm to use.
If the source argument is kFogFragment (default) then fog is computed per pixel. If the argument is kFogCoordinate then if the geometry has specified vertex fog coordinates, and the OpenGL extension for vertex fog is supported by the graphics system, then fog is computed per vertex.
[in] | source | The type of algorithm to use. |
MPx3dModelView::FogMode fogMode | ( | MStatus * | ReturnStatus = NULL | ) | const |
Return the type of drop off used with fog.
See MPx3dModelView::setFogMode for description of the drop off types.
[out] | ReturnStatus | status |
MStatus setFogMode | ( | MPx3dModelView::FogMode | mode | ) |
Sets the drop-off mode for fog.
The possibilities are:
[in] | mode | The type of drop off to use with fog. |
double fogDensity | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the fog density.
[out] | ReturnStatus | status |
MStatus setFogDensity | ( | double | density | ) |
Determines the density of hardware fogging.
This is meaniful for kFogExponential and kFogExponentialSquared drop off types (set by the MPx3dModelView::setFogMode() method).
[in] | density |
double fogStart | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the fog start position.
[out] | ReturnStatus | status |
MStatus setFogStart | ( | double | start | ) |
Determines the start location of hardware fogging.
This is meaniful for kFogLinear drop off type (set by the MPx3dModelView::setFogMode() method).
[in] | start |
double fogEnd | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the fog end position.
[out] | ReturnStatus | status |
MStatus setFogEnd | ( | double | end | ) |
Determines the end location of hardware fogging.
This is meaniful for kFogLinear drop off type (set by the MPx3dModelView::setFogMode() method).
[in] | end |
Returns the fog color.
[out] | ReturnStatus | status |
Sets the color used for hardware fogging.
[in] | color | The color used by hardware fogging. |
bool isBackgroundFogEnabled | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns true if the background fog is enabled.
[out] | ReturnStatus | status |
MStatus setBackgroundFogEnabled | ( | bool | state | ) |
Enables and disables background fog.
[in] | state | true if background fog should be enabled. |
Returns the prefix used when displaying the camera name in the heads up display when view selected in on.
[out] | ReturnStatus | the return status |
Sets the prefix for the camera name as displayed in the heads up display when view selected is enabled.
The prefix is concatenated with the camera name.
The default value is "isolate: "
[in] | prefix | The prefix to use. |
bool viewSelected | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of view selected for this view.
[out] | ReturnStatus | return status |
MStatus setViewSelected | ( | bool | enable | ) |
Enables the view selected mode.
[in] | enable | enable or disable view selected mode. |
Returns an MObject for the set used by view selected.
If there is not a set associated with this view, then an invalid MObject will be returned. Check the isNull() method of the MObject to see if a valid set was found.
[out] | ReturnStatus | return status |
Sets the list of objects used by view selected as an object set.
View selected must be turned on for this to have an effect.
[in] | set | The object set to be used by view selected. |
MStatus getObjectsToView | ( | MSelectionList & | list | ) | const |
Returns a selection list containing all of the objects on the view selected list.
[out] | list | The list of objects used by view selected. |
MStatus setObjectsToView | ( | const MSelectionList & | list | ) |
Sets the list of objects used by view selected as a selection list.
View selected must be turned on for this to have an effect.
[in] | list | The objects to view with view selected. |
bool viewIsFiltered | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the state of view filtering for this view.
This includes both view selected state and additional object list filters.
[out] | ReturnStatus | return status |
MStatus filteredObjectList | ( | MSelectionList & | list | ) | const |
Returns a selection list containing all of the objects that remain after filtering is applied to the view.
[out] | list | The list of objects left after filtering. |
bool hasStereoBufferSupport | ( | ) | const |
Returns true if this 3dModelView is running in stereo buffer mode.
This should be used in cases where the API developer has requested to create stereo buffer enabled view. See wantStereoGLBuffer()
Get this MPx3dModelView as a M3dView.
[in] | view | The M3dView to set as this MPx3dModelView |
|
static |
Returns a pointer to a MPx3dModelView that has the passed name with the specified type (the same typed when registering the control).
If one does not exist, then a NULL pointer is returned.
[in] | name | The name to find |
[out] | ReturnStatus | the return status |
|
virtual |
Users should override this method if they want a stereo buffer enabled MPx3dModelView.
You must have a graphics card that can support stereo mode. If your graphics card does not support stereo mode, a non-stereo buffer is created.
MStatus setInStereoDrawMode | ( | bool | flag | ) |
Derived classes should call this method to indicate to Maya whether the view is currently drawing in stereo.
One place where this is useful to know is for playblast which will check the view to see if it is in stereo mode, and enforce rendering of left and right stereo pairs versus mono rendering.
[in] | flag | Flag telling if drawing in stereo mode. |
|
virtual |
This method provides some filter capabilities as to what is drawn.
When ever a draw operation during the multiple camera drawing, this method will get called. If true is returned, then the object will be drawn.
This method is useful for excluding types of material from the draw loop.
[in] | request | A MDrawRequest of the object that may be drawn. |
|
static |
Returns the name of this class.