def createTranslatorMenu(node, label=None, nodeType=None, default=None, optionMenuName=None): ''' convenience function for creating a TranslatorControl and attaching it to a non-AE UI ''' if nodeType is None: nodeType = pm.nodeType(node) kwargs = {} if label is not None: kwargs['label'] = label if optionMenuName: kwargs['optionMenuName'] = optionMenuName if default: registerDefaultTranslator(nodeType, default) trans = TranslatorControl(nodeType, **kwargs) trans._setToChildMode() trans._doSetup(node + '.aiTranslator') return trans
self.addControl("aiDispHeight", label="Height") self.addControl("aiDispPadding", label="Bounds Padding") self.addControl("aiDispZeroValue", label="Scalar Zero Value") self.addControl("aiDispAutobump", label="Auto Bump") self.endLayout() self.beginLayout('Volume Attributes', collapse=False) self.addControl('aiStepSize', label='Step Size') self.endLayout() self.addControl("aiUserOptions", label="User Options") #pm.editorTemplate("aiExportHairIDs", label="Export Hair IDs", addDynamicControl=True) # FIXME: these are not on the shape node! # ui.addSeparator() # ui.addControl("enableProcedural") # ui.addControl("dso") templates.registerTranslatorUI(MeshTemplate, "mesh", "polymesh") core.registerDefaultTranslator("mesh", "polymesh") templates.registerTranslatorUI(MeshTemplate, "nurbsSurface", "<built-in>") class HairSystemTemplate(templates.ShapeTranslatorTemplate): def shaderCreate(self, attrName): cmds.setUITemplate('attributeEditorPresetsTemplate', pushTemplate=True) cmds.attrNavigationControlGrp("HairSystemTemplateShader", attribute=attrName, label="Hair Shader") cmds.setUITemplate(popTemplate=True) def shaderUpdate(self, attrName): cmds.attrNavigationControlGrp("HairSystemTemplateShader", edit=True, attribute=attrName) def minPixelCreate(self, attrName): cmds.setUITemplate('attributeEditorPresetsTemplate', pushTemplate=True) isEnabled = not (cmds.getAttr("%s.aiMode" % (attrName.split(".")[0])) is 1) cmds.attrFieldSliderGrp("HairTemplateMinPixelWidth", label="Min Pixel Width",
self.addControl("aiDispZeroValue", label="Scalar Zero Value") self.addControl("aiDispAutobump", label="Auto Bump") self.endLayout() self.beginLayout('Volume Attributes', collapse=False) self.addControl('aiStepSize', label='Step Size') self.endLayout() self.addControl("aiUserOptions", label="User Options") #pm.editorTemplate("aiExportHairIDs", label="Export Hair IDs", addDynamicControl=True) # FIXME: these are not on the shape node! # ui.addSeparator() # ui.addControl("enableProcedural") # ui.addControl("dso") templates.registerTranslatorUI(MeshTemplate, "mesh", "polymesh") core.registerDefaultTranslator("mesh", "polymesh") templates.registerTranslatorUI(MeshTemplate, "nurbsSurface", "<built-in>") class HairSystemTemplate(templates.ShapeTranslatorTemplate): def shaderCreate(self, attrName): cmds.setUITemplate('attributeEditorPresetsTemplate', pushTemplate=True) cmds.attrNavigationControlGrp("HairSystemTemplateShader", attribute=attrName, label="Hair Shader") cmds.setUITemplate(popTemplate=True) def shaderUpdate(self, attrName): cmds.attrNavigationControlGrp("HairSystemTemplateShader", edit=True, attribute=attrName)