def buildMatchLayout(self,parent): MatchColumn = MelColumnLayout(parent) #>>> Tag Section guiFactory.lineSubBreak() guiFactory.doButton2(MatchColumn,'Tag it', lambda *a: locinatorLib.doTagObjects(self), "Tag the selected objects to the first locator in the selection set. After this relationship is set up, you can match objects to that locator.") #>>> Purge Section guiFactory.lineSubBreak() self.helpBlurbs.extend(guiFactory.instructions(" Purge all traces of cgmThinga tools from the object",vis = self.ShowHelpOption)) guiFactory.doButton2(MatchColumn,'Purge it', lambda *a: locinatorLib.doPurgeCGMAttrs(self), "Clean it") guiFactory.lineBreak() #>>> Update Section guiFactory.lineSubBreak() guiFactory.doButton2(MatchColumn,'Update Selected', lambda *a: locinatorLib.doUpdateLoc(self), "Only works with locators created with this tool")
def buildMatchLayout(self, parent): MatchColumn = MelColumnLayout(parent) #>>> Tag Section guiFactory.lineSubBreak() guiFactory.doButton2( MatchColumn, 'Tag it', lambda *a: locinatorLib.doTagObjects(self), "Tag the selected objects to the first locator in the selection set. After this relationship is set up, you can match objects to that locator." ) #>>> Purge Section guiFactory.lineSubBreak() self.helpBlurbs.extend( guiFactory.instructions( " Purge all traces of cgmThinga tools from the object", vis=self.ShowHelpOption)) guiFactory.doButton2(MatchColumn, 'Purge it', lambda *a: locinatorLib.doPurgeCGMAttrs(self), "Clean it") guiFactory.lineBreak() #>>> Update Section guiFactory.lineSubBreak() guiFactory.doButton2( MatchColumn, 'Update Selected', lambda *a: locinatorLib.doUpdateLoc(self), "Only works with locators created with this tool")
def createUI(self, parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() command mmActionOptionVar.set(1) self.LocinatorUpdateObjectsBufferOptionVar = OptionVarFactory( 'cgmVar_LocinatorUpdateObjectsBuffer', defaultValue=['']) IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked', 'int') mmActionOptionVar = OptionVarFactory('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update( ) #Check if another tool has changed this setting sel = search.selectCheck() selPair = search.checkSelectionLength(2) IsClickedOptionVar.set(1) mc.menu(parent, e=True, deleteAllItems=True) MelMenuItem(parent, en=selPair, l='Point Snap', c=lambda *a: buttonAction(tdToolsLib.doPointSnap()), rp='NW') MelMenuItem(parent, en=selPair, l='Parent Snap', c=lambda *a: buttonAction(tdToolsLib.doParentSnap()), rp='N') MelMenuItem(parent, en=selPair, l='Orient Snap', c=lambda *a: buttonAction(tdToolsLib.doOrientSnap()), rp='NE') MelMenuItem(parent, en=selPair, l='Surface Snap', c=lambda *a: buttonAction( tdToolsLib.doSnapClosestPointToSurface(False)), rp='W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True MelMenuItem(parent, en=ShowMatch, l='Buffer Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateLoc(self, True)), rp='S') else: ShowMatch = search.matchObjectCheck() MelMenuItem(parent, en=ShowMatch, l='Match Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateSelectedObjects(self)), rp='S') MelMenuItem( parent, en=0, l='Mirror', c=lambda *a: buttonAction(locinatorLib.doUpdateObj(self, True)), rp='SW') MelMenuItemDiv(parent) MelMenuItem(parent, l='Loc Me', c=lambda *a: buttonAction(locinatorLib.doLocMe(self))) MelMenuItem(parent, l='Tag Loc to Object', en=selPair, c=lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton( UpdateMenu, l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(0), rb=slMode) UpdateMenuCollection.createButton( UpdateMenu, l='Buffer', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(1), rb=bufferMode) #>>>Match Mode self.MatchModeOptions = ['parent', 'point', 'orient'] self.MatchModeCollection = MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = MelMenuItem(parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c, item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append( self.MatchModeCollection.createButton( MatchModeMenu, label=item, rb=rbValue, command=Callback(self.SnapModeOptionVar.set, c))) #>>> Define DefineMenu = MelMenuItem(parent, l='Buffer', subMenu=True) MelMenuItem(DefineMenu, l="Define", c=lambda *a: locinatorLib.defineObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Add Selected", c=lambda *a: locinatorLib.addSelectedToObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Remove Selected", c=lambda *a: locinatorLib.removeSelectedFromObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(DefineMenu) MelMenuItem(DefineMenu, l="Select Members", c=lambda *a: locinatorLib.selectObjBufferMembers( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Clear", c=lambda *a: locinatorLib.clearObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(parent) MelMenuItem(parent, l='Locinator', c=lambda *a: buttonAction(cgmToolbox.loadLocinator())) MelMenuItem(parent, l='cgm.animTools', c=lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItem(parent, l='cgm.tdTools', c=lambda *a: buttonAction(cgmToolbox.loadTDTools())) MelMenuItem(parent, l='cgm.attrTools', c=lambda *a: buttonAction(cgmToolbox.loadAttrTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars( self.optionVars))
def Match_buildLayout(self,parent): mc.setParent(parent) guiFactory.header('Update') #>>>Match Mode self.MatchModeCollection = MelRadioCollection() self.MatchModeCollectionChoices = [] if not mc.optionVar( ex='cgmVar_AnimToolsMatchMode' ): mc.optionVar( iv=('cgmVar_AnimToolsMatchMode', 0) ) guiFactory.appendOptionVarList(self,'cgmVar_AnimToolsMatchMode') #MatchModeFlagsRow = MelHLayout(parent,ut='cgmUISubTemplate',padding = 2) MatchModeFlagsRow = MelHSingleStretchLayout(parent,ut='cgmUIReservedTemplate',padding = 2) MelSpacer(MatchModeFlagsRow,w=2) self.MatchModeOptions = ['parent','point','orient'] for item in self.MatchModeOptions: cnt = self.MatchModeOptions.index(item) self.MatchModeCollectionChoices.append(self.MatchModeCollection.createButton(MatchModeFlagsRow,label=self.MatchModeOptions[cnt], onCommand = Callback(guiFactory.toggleOptionVarState,self.MatchModeOptions[cnt],self.MatchModeOptions,'cgmVar_AnimToolsMatchMode',True))) MelSpacer(MatchModeFlagsRow,w=3) MatchModeFlagsRow.setStretchWidget( self.MatchModeCollectionChoices[-1] ) MelSpacer(MatchModeFlagsRow,w=2) MatchModeFlagsRow.layout() mc.radioCollection(self.MatchModeCollection ,edit=True,sl= (self.MatchModeCollectionChoices[ (mc.optionVar(q='cgmVar_AnimToolsMatchMode')) ])) #>>>Time Section UpdateOptionRadioCollection = MelRadioCollection() #>>> Time Menu Container self.BakeModeOptionList = ['Current Frame','Bake'] cgmVar_Name = 'cgmVar_AnimToolsBakeState' if not mc.optionVar( ex=cgmVar_Name ): mc.optionVar( iv=(cgmVar_Name, 0) ) EveryFrameOption = mc.optionVar( q='cgmVar_AnimToolsBakeState' ) guiFactory.appendOptionVarList(self,'cgmVar_AnimToolsBakeState') #build our sub section options self.ContainerList = [] #Mode Change row ModeSetRow = MelHSingleStretchLayout(parent,ut='cgmUISubTemplate') self.BakeModeRadioCollection = MelRadioCollection() self.BakeModeChoiceList = [] MelSpacer(ModeSetRow,w=2) self.BakeModeChoiceList.append(self.BakeModeRadioCollection.createButton(ModeSetRow,label=self.BakeModeOptionList[0], onCommand = Callback(guiFactory.toggleModeState,self.BakeModeOptionList[0],self.BakeModeOptionList,cgmVar_Name,self.ContainerList,True))) ModeSetRow.setStretchWidget( MelSpacer(ModeSetRow) ) self.BakeModeChoiceList.append(self.BakeModeRadioCollection.createButton(ModeSetRow,label=self.BakeModeOptionList[1], onCommand = Callback(guiFactory.toggleModeState,self.BakeModeOptionList[1],self.BakeModeOptionList,cgmVar_Name,self.ContainerList,True))) ModeSetRow.layout() #>>> self.ContainerList.append( self.buildPlaceHolder(parent) ) self.ContainerList.append( self.buildTimeSubMenu( parent) ) mc.radioCollection(self.BakeModeRadioCollection,edit=True, sl=self.BakeModeChoiceList[mc.optionVar(q=cgmVar_Name)]) #>>> mc.setParent(parent) guiFactory.doButton2(parent,'Do it!', lambda *a: locinatorLib.doUpdateLoc(self), 'Update an obj or locator at a particular frame or through a timeline') guiFactory.lineSubBreak() #>>> Loc Me Section guiFactory.lineBreak() guiFactory.lineSubBreak() guiFactory.doButton2(parent,'Just Loc Selected', lambda *a: locinatorLib.doLocMe(self), 'Create an updateable locator based off the selection and options') #>>> Tag Section guiFactory.lineSubBreak() guiFactory.doButton2(parent,'Tag it', lambda *a: locinatorLib.doTagObjects(self), "Tag the selected objects to the first locator in the selection set. After this relationship is set up, you can match objects to that locator.")
def createUI(self,parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() mmActionOptionVar.value = 1 command self.LocinatorUpdateObjectsBufferOptionVar = cgmMeta.cgmOptionVar('cgmVar_LocinatorUpdateObjectsBuffer',defaultValue = ['']) IsClickedOptionVar = cgmMeta.cgmOptionVar('cgmVar_IsClicked', 'int') mmActionOptionVar = cgmMeta.cgmOptionVar('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update()#Check if another tool has changed this setting _sel = mc.ls(sl=True) selPair = search.checkSelectionLength(2) _selecCheck = len(_sel) IsClickedOptionVar.value = 1 mc.menu(parent,e = True, deleteAllItems = True) mUI.MelMenuItem(parent, en = selPair, l = 'Point Snap', c = lambda *a:buttonAction(tdToolsLib.doPointSnap()), rp = 'NW') mUI.MelMenuItem(parent, en = selPair, l = 'Parent Snap', c = lambda *a:buttonAction(tdToolsLib.doParentSnap()), rp = 'N') mUI.MelMenuItem(parent, en = selPair, l = 'Orient Snap', c = lambda *a:buttonAction(tdToolsLib.doOrientSnap()), rp = 'NE') mUI.MelMenuItem(parent, en = selPair, l = 'Surface Snap', c = lambda *a:buttonAction(tdToolsLib.doSnapClosestPointToSurface(False)), rp = 'W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True mUI.MelMenuItem(parent, en = ShowMatch, l = 'Buffer Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateLoc(self,True)), rp = 'S') else: ShowMatch = search.matchObjectCheck() mUI.MelMenuItem(parent, en = ShowMatch, l = 'Match Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateSelectedObjects(self)), rp = 'S') mUI.MelMenuItem(parent, en = _selecCheck, l = 'RayCast', #c = mUI.Callback(buttonAction,raySnap_start(_sel)), c = lambda *a:buttonAction(raySnap_start(_sel)), rp = 'SW') mUI.MelMenuItem(parent, en = 0, l = 'Mirror', c = lambda *a:buttonAction(locinatorLib.doUpdateObj(self,True)), rp = 'SE') mUI.MelMenuItemDiv(parent) mUI.MelMenuItem(parent,l = 'Loc Me', c = lambda *a: buttonAction(locinatorLib.doLocMe(self))) mUI.MelMenuItem(parent, l = 'Tag Loc to Object',en = selPair, c = lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = mUI.MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = mUI.MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton(UpdateMenu,l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(0), rb=slMode ) UpdateMenuCollection.createButton(UpdateMenu,l='Buffer', c=lambda *a:self.LocinatorUpdateObjectsOptionVar.setValue(1), rb=bufferMode ) #>>>Match Mode self.MatchModeOptions = ['parent','point','orient'] self.MatchModeCollection = mUI.MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = mUI.MelMenuItem( parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c,item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append(self.MatchModeCollection.createButton(MatchModeMenu,label=item, rb = rbValue, command = mUI.Callback(self.SnapModeOptionVar.setValue,c))) #>>> Define DefineMenu = mUI.MelMenuItem( parent, l='Buffer', subMenu=True) mUI.MelMenuItem( DefineMenu, l="Define", c= lambda *a: locinatorLib.defineObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Add Selected", c= lambda *a: locinatorLib.addSelectedToObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Remove Selected", c= lambda *a: locinatorLib.removeSelectedFromObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItemDiv( DefineMenu ) mUI.MelMenuItem( DefineMenu, l="Select Members", c= lambda *a: locinatorLib.selectObjBufferMembers(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Clear", c= lambda *a: locinatorLib.clearObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) try:#>>> Sym Axis.... _str_section = 'Ray Cast menu' uiMenu_rayCast = mUI.MelMenuItem( parent, l='Ray Cast Mode', subMenu=True) var_RayCastMode = cgmMeta.cgmOptionVar('cgmVar_SnapMenuRayCastMode', defaultValue=0) self.uiRC_RayCast = mUI.MelRadioMenuCollection() self.uiOptions_RayCast = [] _v = var_RayCastMode.value _modes = cgmDrag._clickMesh_modes for i,item in enumerate(_modes): if i == _v: _rb = True else:_rb = False self.uiOptions_RayCast.append(self.uiRC_RayCast.createButton(uiMenu_rayCast,label=item, c = mUI.Callback(var_RayCastMode.setValue,i), rb = _rb)) except Exception,err: log.error("{0} failed to load. err: {1}".format(_str_section,err))
def createUI(self,parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() command mmActionOptionVar.set(1) self.LocinatorUpdateObjectsBufferOptionVar = OptionVarFactory('cgmVar_LocinatorUpdateObjectsBuffer',defaultValue = ['']) IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked', 'int') mmActionOptionVar = OptionVarFactory('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update()#Check if another tool has changed this setting sel = search.selectCheck() selPair = search.checkSelectionLength(2) IsClickedOptionVar.set(1) mc.menu(parent,e = True, deleteAllItems = True) MelMenuItem(parent, en = selPair, l = 'Point Snap', c = lambda *a:buttonAction(tdToolsLib.doPointSnap()), rp = 'NW') MelMenuItem(parent, en = selPair, l = 'Parent Snap', c = lambda *a:buttonAction(tdToolsLib.doParentSnap()), rp = 'N') MelMenuItem(parent, en = selPair, l = 'Orient Snap', c = lambda *a:buttonAction(tdToolsLib.doOrientSnap()), rp = 'NE') MelMenuItem(parent, en = selPair, l = 'Surface Snap', c = lambda *a:buttonAction(tdToolsLib.doSnapClosestPointToSurface(False)), rp = 'W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True MelMenuItem(parent, en = ShowMatch, l = 'Buffer Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateLoc(self,True)), rp = 'S') else: ShowMatch = search.matchObjectCheck() MelMenuItem(parent, en = ShowMatch, l = 'Match Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateSelectedObjects(self)), rp = 'S') MelMenuItem(parent, en = 0, l = 'Mirror', c = lambda *a:buttonAction(locinatorLib.doUpdateObj(self,True)), rp = 'SW') MelMenuItemDiv(parent) MelMenuItem(parent,l = 'Loc Me', c = lambda *a: buttonAction(locinatorLib.doLocMe(self))) MelMenuItem(parent, l = 'Tag Loc to Object',en = selPair, c = lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton(UpdateMenu,l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(0), rb=slMode ) UpdateMenuCollection.createButton(UpdateMenu,l='Buffer', c=lambda *a:self.LocinatorUpdateObjectsOptionVar.set(1), rb=bufferMode ) #>>>Match Mode self.MatchModeOptions = ['parent','point','orient'] self.MatchModeCollection = MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = MelMenuItem( parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c,item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append(self.MatchModeCollection.createButton(MatchModeMenu,label=item, rb = rbValue, command = Callback(self.SnapModeOptionVar.set,c))) #>>> Define DefineMenu = MelMenuItem( parent, l='Buffer', subMenu=True) MelMenuItem( DefineMenu, l="Define", c= lambda *a: locinatorLib.defineObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Add Selected", c= lambda *a: locinatorLib.addSelectedToObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Remove Selected", c= lambda *a: locinatorLib.removeSelectedFromObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv( DefineMenu ) MelMenuItem( DefineMenu, l="Select Members", c= lambda *a: locinatorLib.selectObjBufferMembers(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Clear", c= lambda *a: locinatorLib.clearObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(parent) MelMenuItem(parent, l = 'Locinator', c = lambda *a: buttonAction(cgmToolbox.loadLocinator())) MelMenuItem(parent, l = 'cgm.animTools', c = lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItem(parent, l = 'cgm.tdTools', c = lambda *a: buttonAction(cgmToolbox.loadTDTools())) MelMenuItem(parent, l = 'cgm.attrTools', c = lambda *a: buttonAction(cgmToolbox.loadAttrTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars(self.optionVars))
def createUI(self, parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() mmActionOptionVar.value = 1 command self.LocinatorUpdateObjectsBufferOptionVar = cgmMeta.cgmOptionVar( 'cgmVar_LocinatorUpdateObjectsBuffer', defaultValue=['']) IsClickedOptionVar = cgmMeta.cgmOptionVar('cgmVar_IsClicked', 'int') mmActionOptionVar = cgmMeta.cgmOptionVar('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update( ) #Check if another tool has changed this setting _sel = mc.ls(sl=True) selPair = search.checkSelectionLength(2) _selecCheck = len(_sel) IsClickedOptionVar.value = 1 mc.menu(parent, e=True, deleteAllItems=True) mUI.MelMenuItem(parent, en=selPair, l='Point Snap', c=lambda *a: buttonAction(tdToolsLib.doPointSnap()), rp='NW') mUI.MelMenuItem(parent, en=selPair, l='Parent Snap', c=lambda *a: buttonAction(tdToolsLib.doParentSnap()), rp='N') mUI.MelMenuItem(parent, en=selPair, l='Orient Snap', c=lambda *a: buttonAction(tdToolsLib.doOrientSnap()), rp='NE') mUI.MelMenuItem(parent, en=selPair, l='Surface Snap', c=lambda *a: buttonAction( tdToolsLib.doSnapClosestPointToSurface(False)), rp='W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True mUI.MelMenuItem(parent, en=ShowMatch, l='Buffer Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateLoc(self, True)), rp='S') else: ShowMatch = search.matchObjectCheck() mUI.MelMenuItem(parent, en=ShowMatch, l='Match Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateSelectedObjects(self)), rp='S') mUI.MelMenuItem( parent, en=_selecCheck, l='RayCast', #c = mUI.Callback(buttonAction,raySnap_start(_sel)), c=lambda *a: buttonAction(raySnap_start(_sel)), rp='SW') mUI.MelMenuItem( parent, en=0, l='Mirror', c=lambda *a: buttonAction(locinatorLib.doUpdateObj(self, True)), rp='SE') mUI.MelMenuItemDiv(parent) mUI.MelMenuItem(parent, l='Loc Me', c=lambda *a: buttonAction(locinatorLib.doLocMe(self))) mUI.MelMenuItem( parent, l='Tag Loc to Object', en=selPair, c=lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = mUI.MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = mUI.MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton( UpdateMenu, l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(0), rb=slMode) UpdateMenuCollection.createButton( UpdateMenu, l='Buffer', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(1), rb=bufferMode) #>>>Match Mode self.MatchModeOptions = ['parent', 'point', 'orient'] self.MatchModeCollection = mUI.MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = mUI.MelMenuItem(parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c, item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append( self.MatchModeCollection.createButton( MatchModeMenu, label=item, rb=rbValue, command=mUI.Callback(self.SnapModeOptionVar.setValue, c))) #>>> Define DefineMenu = mUI.MelMenuItem(parent, l='Buffer', subMenu=True) mUI.MelMenuItem(DefineMenu, l="Define", c=lambda *a: locinatorLib.defineObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Add Selected", c=lambda *a: locinatorLib.addSelectedToObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Remove Selected", c=lambda *a: locinatorLib.removeSelectedFromObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItemDiv(DefineMenu) mUI.MelMenuItem(DefineMenu, l="Select Members", c=lambda *a: locinatorLib.selectObjBufferMembers( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Clear", c=lambda *a: locinatorLib.clearObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) try: #>>> Sym Axis.... _str_section = 'Ray Cast menu' uiMenu_rayCast = mUI.MelMenuItem(parent, l='Ray Cast Mode', subMenu=True) var_RayCastMode = cgmMeta.cgmOptionVar( 'cgmVar_SnapMenuRayCastMode', defaultValue=0) self.uiRC_RayCast = mUI.MelRadioMenuCollection() self.uiOptions_RayCast = [] _v = var_RayCastMode.value _modes = cgmDrag._clickMesh_modes for i, item in enumerate(_modes): if i == _v: _rb = True else: _rb = False self.uiOptions_RayCast.append( self.uiRC_RayCast.createButton( uiMenu_rayCast, label=item, c=mUI.Callback(var_RayCastMode.setValue, i), rb=_rb)) except Exception, err: log.error("{0} failed to load. err: {1}".format(_str_section, err))