def verifyModule(self,forceNew = False): """ Verifies the integrity of the base module class null. Repairing and restoring broken connections or deleted items. """ for k in defaultSettings.keys(): try: self.__dict__[k] except: self.__dict__[k] = defaultSettings[k] #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # Nulls creation #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #need a check to see if it exists from specfic name call if not self.ModuleNull or forceNew: #See if one exists from the name dict buffer = NameFactory.returnCombinedNameFromDict(self.generateNameDict()) if mc.objExists(buffer): if forceNew: cnt = NameFactory.returnIterateNumber(buffer) self.ModuleNull = ObjectFactory(mc.group(empty=True)) self.ModuleNull.store('cgmIterator',cnt) else: self.ModuleNull = ObjectFactory(buffer) #if we still don't have one, make it if not self.ModuleNull: self.ModuleNull = ObjectFactory(mc.group(empty=True)) #Initialize the module parent attr self.msgModuleParent = AttrFactory(self.ModuleNull,'moduleParent','message',self.moduleParent) #Naming stuff self.ModuleNull.store('cgmName',self.nameBase,True) self.ModuleNull.store('cgmType','module') self.afModuleType = AttrFactory(self.ModuleNull,'moduleType',initialValue='None') #Store any naming tags from the init call for k in self.callTags.keys(): if self.callTags.get(k): self.ModuleNull.store(k,self.callTags.get(k),True) elif k in self.parentTagDict.keys(): self.ModuleNull.store(k,'%s.%s'%(self.msgModuleParent.value,k)) self.ModuleNull.doName(True) mc.xform (self.ModuleNull.nameShort, os=True, piv= (0,0,0)) for flag in moduleStates: self.__dict__["af%sState"%flag.capitalize()] = AttrFactory(self.ModuleNull,'%sState'%flag,'bool',initialValue=0,lock=True) attributes.doSetLockHideKeyableAttr(self.ModuleNull.nameShort,channels=['tx','ty','tz','rx','ry','rz','sx','sy','sz']) #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # Main Nulls #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> self.msgRigNull = AttrFactory(self.ModuleNull,'rigNull','message') self.msgTemplateNull = AttrFactory(self.ModuleNull,'templateNull','message') self.msgInfoNull = AttrFactory(self.ModuleNull,'info','message') nullAttributes = [self.msgRigNull, self.msgTemplateNull, self.msgInfoNull] nullInstances = ['RigNull', 'TemplateNull', 'InfoNull'] for i,null in enumerate(nullAttributes): created = False if not null.get(): #If there's nothing connected to our message, we're gonna make our null guiFactory.report("'%s' not found. Creating"%null.attr) self.__dict__[ nullInstances[i] ] = ObjectFactory(mc.group(empty=True)) created = True else: self.__dict__[ nullInstances[i] ] = ObjectFactory(null.value) if null.attr == 'info': #Special case stuff for the master info null self.__dict__[ nullInstances[i] ].store('cgmName','master',True) self.__dict__[ nullInstances[i] ].store('cgmType','infoNull') else: self.__dict__[ nullInstances[i] ].store('cgmType',null.attr) mc.xform (self.__dict__[ nullInstances[i] ].nameShort, os=True, piv= (0,0,0)) self.__dict__[ nullInstances[i] ].doParent(self.ModuleNull.nameShort) if created and self.__dict__[ nullInstances[i] ].nameLong != null.value: null.doStore(self.__dict__[ nullInstances[i] ].nameLong) attributes.doSetLockHideKeyableAttr(self.__dict__[ nullInstances[i] ].nameShort) self.__dict__[ nullInstances[i] ].doName(True) null.updateData() #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # Info Nulls #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for k in InfoNullsNames: self.infoNulls[k] = AttrFactory(self.InfoNull,k,'message') if not self.infoNulls[k].value: guiFactory.report("'%s' not found. Creating"%k) createBuffer = modules.createInfoNull(k) self.infoNulls[k].doStore(createBuffer) if self.infoNulls[k].value: attributes.doSetLockHideKeyableAttr(self.infoNulls[k].value) if rigging.doParentReturnName( self.infoNulls[k].value,self.msgInfoNull.value): buffer = NameFactory.doNameObject(self.infoNulls[k].value) if buffer != self.infoNulls[k].value: self.infoNulls[k].doStore(buffer) else: self.infoNulls[k].updateData() else: guiFactory.warning("'%s' has failed to initialize"%k) if self.infoNulls['setupOptions']: self.SetupOptionsNull = ObjectFactory( self.infoNulls['setupOptions'].get() ) self.optionHandles = AttrFactory(self.SetupOptionsNull,'handles','int',initialValue=self.handles) if self.infoNulls['settings']: self.optionAimAxis = AttrFactory(self.infoNulls['settings'].get(),'axisAim','enum',enum = 'x+:y+:z+:x-:y-:z-',initialValue=2) self.optionUpAxis = AttrFactory(self.infoNulls['settings'].get(),'axisUp','enum',enum = 'x+:y+:z+:x-:y-:z-',initialValue=1) self.optionOutAxis = AttrFactory(self.infoNulls['settings'].get(),'axisOut','enum',enum = 'x+:y+:z+:x-:y-:z-',initialValue=0) return True