def getModules(self): moduleKeys = self.Modules.keys() # remove root as it will be a duplicate key moduleKeys = [ x for x in moduleKeys if not x == "root"] modules = [] for key in moduleKeys: name = self.Modules[key].name if Util.moduleExists(name): modules.append(name) return modules
def blueprintModule(self, name ,module): """ Run blueprint method for module """ if Util.moduleExists(name): if self.checkMethod( name,"blueprint"): self.Modules[name].blueprint() if module != "Root": cmds.parent(self.Modules[name].rootGrp, self.Modules["root"].groups["modules"]) cmds.container( self.Modules["root"].container, edit=True, an= self.Modules[name].container) else: cmds.error("Blueprint already built for " + name) else: cmds.error("Module "+name+" not found in rig instance")
def rigModule(self,args): """ Run rig method for module """ # get module name defaultArgs = {"name":"default"} functArgs = Util.defaultArgs( defaultArgs, args) name = functArgs["name"] # Check that root is built if self.rootExists() == False: cmds.error("Root container not found during rig") self.refreshModuleList() # check module exists and rig has not been run if Util.moduleExists(name) and self.checkMethod(name, "rig"): mod = self.Modules[name] mod.rig() else: print ("Module \"" + name + "\" already built!")
def createModule(self, name, module): """ Creates module instance """ # Check that root is built if self.rootExists() == False: if module == "Root": self.new(blueprint= False) return else: self.new() # Create command if Util.moduleExists(name) == False: command = ("mod = " + str(module) + "." + str(module) + "('"+ name +"')") exec command self.Modules[mod.name] = mod else: if module != "Root": print ("Module \"" + name + "\" already exists!")
def blueprintMode(self): """ Builds rig blueprints or sets modules back to blueprint mode """ # refresh UI path self.UI.getFilePath() blueprintFilePath = (str(self.UI.filePath) + "BlueprintData.txt") FILE = open(blueprintFilePath,"rU") lineArray = FILE.readlines() FILE.close() # Build blueprints from default file is sccene empty if self.rootExists(): modules = self.getModules() for module in modules: self.undoRigMode(module) else: for line in lineArray: moduleName = line.split()[0] module = line.split()[1] # check modules exist if Util.moduleExists(moduleName) == False: self.createModule(moduleName,module ) self.blueprintModule(moduleName,module )
def rootExists(self): if Util.moduleExists(self.name): return True else: return False