示例#1
0
def createStereoCameraRig(rigName=""):
    """
	Create a stereo camera rig.
	The rig creation call back is called, then specific dynamic
	attributes are created to track cameras belonging to stereo rigs.

	If no rigName is set, the default rig tool is used.

	Return an array [rig root, Left eye camera, right eye camera]
	"""
    definitions = None
    rigRoot = None
    leftCam = ''
    rightCam = ''
    proxyObj = None
    try:
        definitions = cmds.stereoRigManager(rigDefinition=rigName)
    except:
        stereoCameraErrors.displayError('kNoStereoRigCommand', rigName)

    try:
        # Call the creation method
        dagObjects = stereoCameraUtil.__call(definitions[0], definitions[1],
                                             rigName)
        if dagObjects <> 'Error':
            try:
                size = len(dagObjects)
                # For those users who want to create custom rigs
                # have the proxy object selected after creation, they need to pass
                # back a 4th parameter when the rig is created. This 4th parameter
                # points to the actual object to be selected.
                #
                if size == 3 or size == 4:
                    [rigRoot, leftCam,
                     rightCam] = __validateRig(dagObjects[0], dagObjects[1],
                                               dagObjects[2])
                    if size == 4:
                        proxyObj = dagObjects[3]
                else:
                    stereoCameraErrors.displayError('kRigReturnError', rigName,
                                                    len(dagObjects))
            except:
                stereoCameraErrors.displayError('kRigReturnNotArray', rigName)

    except:
        stereoCameraErrors.displayError('kCannotCreateRig', rigName)

    if not rigRoot == None:
        rigTypeName = rigName
        if rigTypeName == "":
            rigTypeName = cmds.stereoRigManager(query=True, defaultRig=True)

        makeStereoCameraRig(rigRoot, rigTypeName, leftCam, rightCam)
        if proxyObj:
            rigRoot = proxyObj
            cmds.select(proxyObj, replace=True)
        else:
            cmds.select(rigRoot, replace=True)

    return [rigRoot, leftCam, rightCam]
def registerThisRig():
    """
  Registers the rig in Maya's database
  """
    cmds.stereoRigManager(add=[
        'StereoCameraMulti', 'Python',
        'maya.app.stereo.stereoCameraComplexRig.createRig'
    ])
def registerThisRig():
    """
  Registers the rig in Maya's database
  """
    global rigTypeName
    cmds.stereoRigManager(add=[
        rigTypeName, 'Python',
        'maya.app.stereo.stereoCameraDefaultRig.createRig'
    ])
    cmds.stereoRigManager(cameraSetFunc=[
        rigTypeName, 'maya.app.stereo.stereoCameraDefaultRig.attachToCameraSet'
    ])
示例#4
0
def findVrayDomeRig():
  import maya.cmds as cmds

  rigs = cmds.stereoRigManager(listRigs=True)
  print ("Stereo Camera rigs:")
  for rig in rigs:
    defs = cmds.stereoRigManager(rigDefinition=rig)
    print 'Rig "'+ rig +'": (language '+defs[0]+') create callback: '+defs[1]
    # Check for rig
    if (rig == "VrayDomemasterStereoCamera"):
      return 1
      
  return 0
def findDomeRig():
  import maya.cmds as cmds

  rigs = cmds.stereoRigManager(listRigs=True)
  print ("Stereo Camera rigs:")
  for rig in rigs:
    defs = cmds.stereoRigManager(rigDefinition=rig)
    print 'Rig "'+ rig +'": (language '+defs[0]+') create callback: '+defs[1]
    #Check for
    if (rig == "DomeStereoCamera"):
      return 1
      
  return 0
示例#6
0
def gatherCreateMenuUILabels():
    rigs = cmds.stereoRigManager(listRigs=True)
    menuTitle = maya.stringTable['y_stereoCameraMenus.kNewStereoCamera']
    menuAnnot = maya.stringTable['y_stereoCameraMenus.kNewStereoCameraAnnot']
    rigCount = len(rigs)
    uiLabels = []
    for rig in rigs:
        label = menuTitle
        if (rigCount > 1):
            label = "%s (%s)" % (label, rig)
        annot = menuAnnot + rig
        theMenu = stereoCameraUILabel.UILabel(
            label=label,
            annotation=annot,
            command=stereoCameraRig.createStereoCameraRig,
            command_keywords={'rigName': rig})
        uiLabels.append(theMenu)
    multiRigMgr = multiRig.NamingTemplateManager()

    for m in multiRigMgr.templates():
        label = m.rigName()
        annot = menuAnnot + label
        theMenu = stereoCameraUILabel.UILabel(label=label,
                                              annotation=annot,
                                              command=m.create,
                                              command_pack=None)
        uiLabels.append(theMenu)
    return uiLabels
示例#7
0
    def layoutForLayer(self, layer):
        """
		Build the UI for the specified layer. We need to access the
		UI data later in callbacks. So we store the data inside
		a dictionary for reference layer. 
		"""
        ui = {}
        #frlt = cmds.frameLayout( collapsable=True, borderStyle="out", label="Layer %d" % layer )
        locLayer = maya.stringTable['y_cameraSetTool.kLayerNumberString']
        frlt = cmds.frameLayout(collapsable=True,
                                label=locLayer + " %d" % layer)
        ui['frame'] = frlt
        self._layerFrameUI.append(ui)

        cmds.columnLayout(adjustableColumn=True)
        ui['layerPrefix'] = cmds.textFieldGrp(
            label=maya.stringTable['y_cameraSetTool.kLabelPrefix'],
            text=self._template.layerPrefixForLayer(layer))
        ui['menuGrp'] = cmds.optionMenuGrp(
            label=maya.stringTable['y_cameraSetTool.kRigType'])
        opValue = rigTypeLayer = self._template.rigTypeForLayer(layer)
        rigs = cmds.stereoRigManager(listRigs=True)
        for r in rigs:
            cmds.menuItem(label=r)
        if not opValue in rigs:
            cmds.menuItem(label=opValue)

        cmds.optionMenuGrp(ui['menuGrp'], edit=True, value=opValue)

        # For some reason, the only way I can get the check box to line
        # up is if I embed it in a form layout.
        #
        form = cmds.formLayout()
        ui['ckbox'] = cmds.checkBox(
            label=maya.stringTable['y_cameraSetTool.kAutoCreate'])
        ui['icon'] = cmds.iconTextButton(
            style="iconOnly",
            image="removeRenderable.png",
            annotation=maya.stringTable['y_cameraSetTool.kDelete'],
            width=20,
            height=20)
        cmds.checkBox(ui['ckbox'],
                      edit=True,
                      value=self._template.autoCreateSet(layer))
        cmds.formLayout(form,
                        edit=True,
                        attachForm=[(ui['ckbox'], "left", 125),
                                    (ui['ckbox'], "top", 0),
                                    (ui['ckbox'], "bottom", 0),
                                    (ui['icon'], "top", 0),
                                    (ui['icon'], "bottom", 0),
                                    (ui['icon'], "right", 5)],
                        attachNone=[(ui['ckbox'], "right"),
                                    (ui['icon'], "left")])
        self._setCallbacks(layer)
        cmds.setParent('..')
        cmds.setParent('..')
        cmds.setParent('..')
示例#8
0
def __add(layout, nameBox, langMenu, createBox, createCamSet):
    name = cmds.textField(nameBox, query=True, text=True)
    lang = cmds.optionMenu(langMenu, query=True, value=True)
    create = cmds.textField(createBox, query=True, text=True)
    camSet = cmds.textField(createCamSet, query=True, text=True)

    # Multibyte string is not allowed for node name
    if mel.eval(u'containsMultibyte \"%s\"' % name) == 1:
        stereoCameraErrors.displayError('kRigToolMultiByteName', arg1=name)
        return
    if name == '':
        stereoCameraErrors.displayError('kRigToolNoName')
    elif create == '':
        stereoCameraErrors.displayError('kRigToolNoCreate')
    elif name in cmds.stereoRigManager(listRigs=True):
        stereoCameraErrors.displayError('kRigToolAlreadyExists', arg1=name)
    else:
        cmds.stereoRigManager(add=[name, lang, create])
        cmds.stereoRigManager(cameraSetFunc=[name, camSet])
        rebuildUI(layout)
示例#9
0
def _getDefinition( rigType ):
	"""
	Get the definition for this object.  
	"""
	definitions = [] 
	if rigType: 
		try:
			definitions = cmds.stereoRigManager(rigDefinition=rigType)
		except:
			stereoCameraErrors.displayError('kNoStereoRigCommand', rigType)
	return definitions 
示例#10
0
def addNewArnoldLatLongRig():
    import maya.mel as mel
    import maya.cmds as cmds

    if (findArnoldLatLongRig() == 0):
        print(
            "An ArnoldLatLongStereoCamera rig has been added to the stereoRigManager."
        )
        # Register the ArnoldLatLongStereoCamera rig type
        # add[rig, language, createProcedure]
        # cameraSetFunc=[rig,callback]
        # Add the custom rig
        #cmds.evalDeferred("cmds.stereoRigManager(add=['ArnoldLatLongStereoCamera', 'Python', 'arnoldLatLongStereoRig.createRig'])")
        cmds.stereoRigManager(add=[
            'ArnoldLatLongStereoCamera', 'Python',
            'arnoldLatLongStereoRig.createRig'
        ])
        # Add the custom callback set for Maya 2011+
        mayaVersion = getMayaVersionDome()
        if (mayaVersion >= 2011):
            #cmds.evalDeferred("cmds.stereoRigManager(cameraSetFunc=['ArnoldLatLongStereoCamera','arnoldLatLongStereoRig.attachToCameraSet'] )")
            cmds.stereoRigManager(cameraSetFunc=[
                'ArnoldLatLongStereoCamera',
                'arnoldLatLongStereoRig.attachToCameraSet'
            ])

        #Make the new rig the default rig
        #cmds.evalDeferred("cmds.stereoRigManager(defaultRig='ArnoldLatLongStereoCamera')")
        cmds.stereoRigManager(defaultRig='ArnoldLatLongStereoCamera')
    else:
        print(
            "An ArnoldLatLongStereoCamera rig already exists in the stereoRigManager."
        )
def registerThisRig():
  """
  Registers the rig in Maya's database
  """
  mayaVersion = getMayaVersionDome()
  if (mayaVersion >= 2011):
    global rigTypeName 
    cmds.stereoRigManager(add=[rigTypeName, 'Python', 'LatLongStereoRig.createRig'])
    cmds.stereoRigManager(cameraSetFunc=[rigTypeName, 'LatLongStereoRig.attachToCameraSet'])
  else:
    cmds.stereoRigManager(add=['StereoCamera', 'Python', 'maya.app.stereo.stereoCameraDefaultRig.createRig'])
def registerThisRig():
  """
  Registers the rig in Maya's database
  """
  mayaVersion = getMayaVersionDome()
  if(mayaVersion >= 2011):
    global rigTypeName 
    cmds.stereoRigManager(add=[rigTypeName, 'Python', 'domeStereoRig.createRig'])
    cmds.stereoRigManager(cameraSetFunc=[rigTypeName, 'domeStereoRig.attachToCameraSet'])
  else:
    cmds.stereoRigManager(add=['StereoCamera', 'Python', 'maya.app.stereo.stereoCameraDefaultRig.createRig'])
def addNewVrayLatLongRig():
  import maya.mel as mel
  import maya.cmds as cmds
  
  if (findVrayLatLongRig() == 0):
    print ("A VrayLatLongStereoCamera rig has been added to the stereoRigManager.")
    # Register the VrayLatLongStereoCamera rig type
    # add[rig, language, createProcedure]
    # cameraSetFunc=[rig,callback] 
    # Add the custom rig
    #cmds.evalDeferred("cmds.stereoRigManager(add=['VrayLatLongStereoCamera', 'Python', 'vrayLatLongStereoRig.createRig'])")
    cmds.stereoRigManager(add=['VrayLatLongStereoCamera', 'Python', 'vrayLatLongStereoRig.createRig'])
    # Add the custom callback set for Maya 2011+
    mayaVersion = getMayaVersionDome()
    if (mayaVersion >= 2011):
      #cmds.evalDeferred("cmds.stereoRigManager(cameraSetFunc=['VrayLatLongStereoCamera','vrayLatLongStereoRig.attachToCameraSet'] )")
      cmds.stereoRigManager(cameraSetFunc=['VrayLatLongStereoCamera','vrayLatLongStereoRig.attachToCameraSet'] )
    
    # Make the new rig the default rig
    #cmds.evalDeferred("cmds.stereoRigManager(defaultRig='VrayLatLongStereoCamera')")
    cmds.stereoRigManager(defaultRig='VrayLatLongStereoCamera')
  else:
    print ("An VrayLatLongStereoCamera rig already exists in the stereoRigManager.")
示例#14
0
    def create(self, *args):
        """
		Create the Maya nodes per the specification of this template. 
		"""
        if self.checkMultibyte():
            return

        rigs = cmds.stereoRigManager(listRigs=True)
        defaultCam = cmds.stereoRigManager(query=True, defaultRig=True)
        standardDefault = defaultRigType.rigTypeName

        swapWithDefault = False
        askedUserAlready = False
        for i in range(self.layers()):
            rtype = self.rigTypeForLayer(i)
            if rtype not in rigs:
                if rtype == standardDefault and defaultCam != standardDefault:
                    # Check to make sure we haven't already asked the user
                    # for this create call.  There are multiple layers
                    # of a multi-rig and we don't want to ask the user
                    # the same question multiple times.
                    #
                    if not askedUserAlready:
                        swapWithDefault = swapDefault(standardDefault,
                                                      defaultCam)
                        askedUserAlready = True
                    if not swapWithDefault:
                        stereoCameraErrors.displayError('kRigNotFound', rtype)
                        return
                else:
                    stereoCameraErrors.displayError('kRigNotFound', rtype)
                    return

        camSet = None
        camSetType = self.cameraSetNodeType()
        val = cmds.objectType(tagFromType=camSetType)
        if val > 0:
            camSet = cmds.createNode(camSetType, name=self._templateName)
        else:
            stereoCameraErrors.displayError('kCameraSetNotFound', camSetType)
            return

        masterPrefix = self._camSetPrefix.replace(' ', '_')

        uniqueRigs = []
        for i in range(self.layers()):
            rtype = self.rigTypeForLayer(i)
            if rtype == standardDefault and swapWithDefault:
                rtype = defaultCam
                stereoCameraErrors.displayWarning('kDefaultRigSwap', rtype)

            if rtype not in uniqueRigs:
                uniqueRigs.append(rtype)
            layerPrefix = self.layerPrefixForLayer(i).replace(' ', '_')
            prefix = masterPrefix + layerPrefix
            autoCreateSet = self.autoCreateSet(i)
            rig = stereoCameraRig.createStereoCameraRig(rtype)
            objSet = None
            if autoCreateSet:
                objSet = cmds.createNode('objectSet', name=prefix + 'Set')
            stereoCameraSets.addNewRigToSet(rig[0], camSet, objSet)
            baseName = rig[0]
            for r in rig:
                cmds.rename(r, r.replace(baseName, prefix))

        # Notify once to all unique rigs that we have finished
        # building the multi rig.
        #
        for u in uniqueRigs:
            stereoCameraSets.notifyCameraSetCreateFinished(camSet, u)
示例#15
0
def __changeCameraSetProcedure(layout, control, rig):
    cb = cmds.textField(control, query=True, text=True)
    cmds.stereoRigManager(cameraSetFunc=[rig, cb])
示例#16
0
def __changeProcedure(layout, control, rig):
    create = cmds.textField(control, query=True, text=True)
    cmds.stereoRigManager(creationProcedure=[rig, create])
示例#17
0
def __delete(layout, control, rig):
    cmds.stereoRigManager(delete=rig)
    rebuildUI(layout)
示例#18
0
def __changeLang(layout, control, rig):
    lang = cmds.optionMenu(control, query=True, value=True)
    cmds.stereoRigManager(language=[rig, lang])
示例#19
0
def getDefaultRig():
    stereoCameraUtil.runCallbackChecks()
    return cmds.stereoRigManager(query=True, defaultRig=True)
示例#20
0
def buildMainToolUI():
    "Build the UI for this window"

    layout = cmds.columnLayout()

    cmds.frameLayout(label=maya.stringTable['y_stereoRigToolEditor.kEdit'])
    cmds.columnLayout()
    cmds.separator(height=5, style='none')

    mode = 'maya'
    rigTools = cmds.stereoRigManager(listRigs=True)
    for rig in rigTools:
        definition = cmds.stereoRigManager(rigDefinition=rig)
        print definition
        [name, menu, text, text2] = __oneItem(layout, rig, definition, mode)

        if mode == 'maya':
            cmds.textField(text, edit=True, enable=False)
            cmds.textField(text2, edit=True, enable=False)
            cmds.optionMenu(menu, edit=True, enable=False, value=definition[0])
        else:
            cmds.textField(text,
                           edit=True,
                           changeCommand=__buildCB(layout, '__changeProcedure',
                                                   text, rig))
            cmds.textField(text2,
                           edit=True,
                           changeCommand=__buildCB(
                               layout, '__changeCameraSetProcedure', text2,
                               rig))

            cmds.optionMenu(menu,
                            edit=True,
                            value=definition[0],
                            changeCommand=__buildCB(layout, '__changeLang',
                                                    menu, rig))

        cmds.separator(height=5, style='none')
        cmds.separator(width=460)
        cmds.separator(height=5, style='none')
        mode = 'custom'

    cmds.setParent('..')
    cmds.setParent('..')

    # Add a last entry to register a new rig

    cmds.separator(height=8, style='none')

    cmds.frameLayout(label=maya.stringTable['y_stereoRigToolEditor.kRegister'])
    cmds.columnLayout()
    cmds.separator(height=5, style='none')

    [name, menu, text, text2] = __oneItem(layout, None, ['', '', ''], 'new')

    cmds.separator(height=5, style='none')

    cmds.rowColumnLayout(numberOfColumns=2,
                         columnSpacing=[2, 10],
                         columnWidth=[[1, 150], [2, 300]])
    cmds.text(label='')
    btn = cmds.button(label=maya.stringTable['y_stereoRigToolEditor.kNewRig'])
    btn = cmds.button(btn,
                      edit=True,
                      command=__buildCB2(layout, '__add', name, menu, text,
                                         text2))
    cmds.setParent('..')

    cmds.setParent('..')
    cmds.setParent('..')

    cmds.setParent('..')
def createVrayLatLongStereoRig():
    import maya.cmds as cmds
    import maya.mel as mel

    # ---------------------------------------------------------------------
    # Setup the default Maya Settings
    # ---------------------------------------------------------------------
    cmds.loadPlugin("stereoCamera", qt=True)

    # Make sure the Vray plugin was loaded
    forceVrayLoad()

    # Show the Render Settings Window so the Post Translator Action can be loaded
    mel.eval('unifiedRenderGlobalsWindow;')

    # Check if the vray settings element exists in the scene
    domeCreateVraySettingsNode()

    # ---------------------------------------------------------------------
    # Create the stereo rig
    # ---------------------------------------------------------------------

    #import maya.app.stereo.stereoCameraMenus as stereoCameraMenus
    #stereoCameraMenus.buildCreateMenu()
    #import maya.app.stereo.stereoCameraRig
    #maya.app.stereo.stereoCameraRig.createStereoCameraRig()

    from maya.app.stereo import stereoCameraRig

    # Set the default rig to an VrayLatLongStereoCamera
    cmds.stereoRigManager(defaultRig='VrayLatLongStereoCamera')

    # Add the camera rig to the scene
    rig = stereoCameraRig.createStereoCameraRig('VrayLatLongStereoCamera')
    #[u'VrayLatLongCamera', u'VrayLatLongCameraLeft', u'VrayLatLongCameraRight']

    #Get the stereo camera rig shape nodes for the center/right/left cameras
    rig_center_shape_name = getObjectShapeNode(rig[0])
    #[u'stereoCameraCenterCamShape', u'stereoCameraFrustum'] #

    rig_left_shape_name = getObjectShapeNode(rig[1])
    # Result: [u'stereoCameraLeftShape'] #

    rig_right_shape_name = getObjectShapeNode(rig[2])
    # Result: [u'stereoCameraRightShape'] #
    """
  cmds.setAttr( rig[0]+'.rotateX', 90)
  cmds.setAttr( rig[0]+'.rotateY', 0)
  cmds.setAttr( rig[0]+'.rotateZ', 0)
  
  """

    # Changes the render settings to set the stereo camera to be a renderable camera
    cmds.setAttr(rig_left_shape_name[0] + '.renderable',
                 1)  #stereoCameraLeftShape
    cmds.setAttr(rig_right_shape_name[0] + '.renderable',
                 1)  #stereoCameraRightShape
    cmds.setAttr('topShape.renderable', 0)
    cmds.setAttr('sideShape.renderable', 0)
    cmds.setAttr('frontShape.renderable', 0)
    cmds.setAttr('perspShape.renderable', 0)

    #Set up the default AA sampling quality
    setDomeSamplingQuality()

    #---------------------------------------------------------------------------
    # Enable Real-time 3D in the OpenGL viewport
    # using a PreRender and PostRender MEL script
    #---------------------------------------------------------------------------
    #import maya.cmds as cmds

    #PreRender MEL:
    #cmds.setAttr( 'defaultRenderGlobals.preMel', "source \"domeRender.mel\"; domemaster3DPreRenderMEL();", type='string')
    #PostRender MEL:
    #cmds.setAttr( 'defaultRenderGlobals.postMel' , "source \"domeRender.mel\"; domemaster3DPostRenderMEL();", type='string')

    #enable realtime 3D
    #mel.eval("source \"domeRender.mel\"; domemaster3DPostRenderMEL();");

    return rig
def createArnoldLatLongStereoRig():
  import maya.cmds as cmds
  import maya.mel as mel
  
  # ---------------------------------------------------------------------
  # Setup the default Maya Settings
  # ---------------------------------------------------------------------
  cmds.loadPlugin( "stereoCamera", qt=True )
  
  # Make sure the Arnold plugin was loaded
  forceArnoldLoad()

  # ---------------------------------------------------------------------
  # Create the stereo rig
  # ---------------------------------------------------------------------
  
  #import maya.app.stereo.stereoCameraMenus as stereoCameraMenus
  #stereoCameraMenus.buildCreateMenu()
  #import maya.app.stereo.stereoCameraRig
  #maya.app.stereo.stereoCameraRig.createStereoCameraRig()
  
  from maya.app.stereo import stereoCameraRig
  
  # Set the default rig to an ArnoldLatLongStereoCamera
  cmds.stereoRigManager(defaultRig='ArnoldLatLongStereoCamera')
  
  # Add the camera rig to the scene
  rig = stereoCameraRig.createStereoCameraRig('ArnoldLatLongStereoCamera')
  #[u'ArnoldLatLongCamera', u'ArnoldLatLongCameraLeft', u'ArnoldLatLongCameraRight']
  
  #Get the stereo camera rig shape nodes for the center/right/left cameras
  rig_center_shape_name = getObjectShapeNode(rig[0])
  #[u'stereoCameraCenterCamShape', u'stereoCameraFrustum'] #

  rig_left_shape_name = getObjectShapeNode(rig[1])
  # Result: [u'stereoCameraLeftShape'] #

  rig_right_shape_name = getObjectShapeNode(rig[2])
  # Result: [u'stereoCameraRightShape'] #
  
  """
  cmds.setAttr( rig[0]+'.rotateX', 90)
  cmds.setAttr( rig[0]+'.rotateY', 0)
  cmds.setAttr( rig[0]+'.rotateZ', 0)
  
  """
  
  # Changes the render settings to set the stereo camera to be a renderable camera
  cmds.setAttr( rig_left_shape_name[0]+'.renderable', 1) #stereoCameraLeftShape
  cmds.setAttr( rig_right_shape_name[0]+'.renderable', 1) #stereoCameraRightShape
  cmds.setAttr( 'topShape.renderable', 0)
  cmds.setAttr( 'sideShape.renderable', 0)
  cmds.setAttr( 'frontShape.renderable', 0)
  cmds.setAttr( 'perspShape.renderable', 0)

  #Set up the default AA sampling quality
  setDomeSamplingQuality()
  
  #---------------------------------------------------------------------------
  # Enable Real-time 3D in the OpenGL viewport 
  # using a PreRender and PostRender MEL script
  #---------------------------------------------------------------------------
  #import maya.cmds as cmds

  #PreRender MEL:
  #cmds.setAttr( 'defaultRenderGlobals.preMel', "source \"domeRender.mel\"; domemaster3DPreRenderMEL();", type='string')
  #PostRender MEL:
  #cmds.setAttr( 'defaultRenderGlobals.postMel' , "source \"domeRender.mel\"; domemaster3DPostRenderMEL();", type='string')

  #enable realtime 3D
  #mel.eval("source \"domeRender.mel\"; domemaster3DPostRenderMEL();");
  
  return rig
示例#23
0
def registerThisRig():
  """
  Registers the rig in Maya's database
  """
  cmds.stereoRigManager(add=['StereoCameraHier', 'Python',
                             'maya.app.stereo.stereoCameraHierarchicalRig.createRig'])