Source code for bgdev.utils.display

"""Utility methods about viewport display.

:created: 13/02/2018
:author: Benoit GIELLY <benoit.gielly@gmail.com>
"""
from __future__ import absolute_import

from maya import cmds


[docs]def real_focus(): """Zoom to the current selection's manipulator position.""" panel = cmds.getPanel(withFocus=True) if cmds.getPanel(typeOf=panel) == "modelPanel": camera = cmds.lookThru(panel, query=True) cmds.viewFit(camera, allObjects=False, fitFactor=1.0)
[docs]def real_focus_old(): """Zoom to the current selection's manipulator position.""" panel = cmds.getPanel(withFocus=True) if cmds.getPanel(typeOf=panel) != "modelPanel": return # get selection selection = cmds.ls(selection=True) if not selection: return # get current manipulator position current = cmds.currentCtx() cmds.setToolTo("moveSuperContext") position = cmds.manipMoveContext("Move", query=True, position=True) cmds.setToolTo(current) # create and snap a locator to the manipulator position camera = cmds.lookThru(panel, query=True) locator = cmds.spaceLocator(position=position) cmds.select(locator) cmds.viewFit(camera, allObjects=False, fitFactor=0.250) cmds.delete(locator) # restore selection cmds.select(selection)
[docs]def viewport_display_types(flag=None): """Toggle the viewport options. Possible flags: - allObjects - nurbsCurves - polymeshes - joints - locators - etc... """ if flag == "allObjects": all_objects_value = 1 - globals().setdefault("all_objects_value", 1) cmds.modelEditor( "modelPanel4", edit=True, allObjects=all_objects_value ) elif flag is not None: flag_value = 1 - cmds.modelEditor( "modelPanel4", query=True, **{flag: True} ) cmds.modelEditor("modelPanel4", edit=True, **{flag: flag_value})