def execAssignWeights(self, args): Utils.testPluginLoaded() #Utils.testVertexSelectionAvailable() cmds.ngAssignWeights(**args)
class TabSkinRelax(BaseTab): ''' Defines a UI function set for Weights Relax operations. ''' # prefix for environment variables for this tab VAR_RELAX_PREFIX = 'ngSkinToolsRelaxTab_' def __init__(self): BaseTab.__init__(self) @Utils.visualErrorHandling def execRelax(self, *args): ''' relax button click handler. this is where it actually executes skin relax, whoop-tee-doo. ''' try: args = {} args['numSteps'] = self.controls.numSteps.getValue() args['stepSize'] = self.controls.stepSize.getValue() # do we need soft selection? self.controls.softSelection.addToArgs(args) # do we need volume association? if self.controls.useVolumeAssociation.getValue(): args['abv'] = 1 args['avr'] = self.controls.volumeAssociationRadius.getValue() # add selection+highlight as arguments # we need highlight as second argument because # other meshes for simulation might be included only through highlight. # # This will never be an empty list as we tested for vertex selection available earlier def makeList(listOrNull): if listOrNull is None: return [] return listOrNull objects = makeList(cmds.ls(sl=True)) + makeList(cmds.ls(hl=True)) if len(objects) == 0: raise MessageException("Nothing is selected") # execute stuff try: cmds.waitCursor(state=True) cmds.ngSkinRelax(objects, **args) finally: cmds.waitCursor(state=False) Utils.refreshPaintWeightsTool() except MessageException, err: raise err except Exception, err: log.error('unknown error: ' + err.message) # remap error to a more meaningful Utils.testPluginLoaded() # unknown error,reraise it raise err
def execAssignWeights(self,args): Utils.testPluginLoaded() #Utils.testVertexSelectionAvailable() cmds.ngAssignWeights(**args);