// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // Creation Date: 17 June 2014 // // // Procedure Name: // ModelingMeshDisplayMenu // // Description: // Create the MODELING->Mesh Display menu // // Input Arguments: // Parent window that menu will be a part of. // // Return Value: // None. // global proc ModelingMeshDisplayMenu (string $parent) // // Description: // Modeling Mesh Display menu // { if (! `isTrue "PolygonsExists"`) return; setParent -m $parent; if (`menu -q -ni $parent` != 0) { // // Menu is built already, just refresh it. // refreshPolygonsColorMenu($parent); return; } else{ source "PolygonsColorMenu.mel"; // There are some useful procdures which will be used here. menuItem -divider true -dividerLabel (uiRes("m_ModelingMeshDisplayMenu.kNormalsDivider")); menuItem -rtc "AveragePolygonNormals" -dragMenuCommand "performPolyAverageNormal 2" -dragDoubleClickCommand "AveragePolygonNormalsOptions" ; menuItem -optionBox true -image "polyNormalAverage.png" -annotation (getRunTimeCommandAnnotation("AveragePolygonNormalsOptions")) -command "AveragePolygonNormalsOptions" ; menuItem -rtc "ConformPolygonNormals" ; menuItem -rtc "ReversePolygonNormals" -dragDoubleClickCommand "ReversePolygonNormalsOptions" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("ReversePolygonNormalsOptions")) -image "polyNormal.png" -command "ReversePolygonNormalsOptions" ; menuItem -rtc "SetToFaceNormals" -dragMenuCommand "performPolySetToFaceNormal 2" -dragDoubleClickCommand "SetToFaceNormalsOptions" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("SetToFaceNormalsOptions")) -image "polyNormalSetToFace.png" -command "SetToFaceNormalsOptions" ; menuItem -rtc "SetVertexNormal" -dragMenuCommand "performPolySetNormal 2" -dragDoubleClickCommand "SetVertexNormalOptions" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("SetVertexNormalOptions")) -image "polySetVertexNormal.png" -command "SetVertexNormalOptions" ; menuItem -divider true -longDivider false; menuItem -rtc "PolygonHardenEdge" ; menuItem -rtc "PolygonSoftenEdge" ; menuItem -version "2018" -rtc "PolygonSoftenHarden"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PolygonSoftenHardenOptions")) -image "polySoftEdge.png" -command "PolygonSoftenHardenOptions"; menuItem -divider true -longDivider false; menuItem -rtc "LockNormals"; menuItem -rtc "UnlockNormals"; menuItem -divider true -longDivider false; menuItem -rtc "PolygonNormalEditTool" ; menuItem -optionBox true -label (uiRes("m_ModelingMeshDisplayMenu.kNewVertexNormalEditBoxOptions")) -annotation (uiRes("m_ModelingMeshDisplayMenu.kNewVertexNormalEditOptionsAnnot")) -image "vertexNormalEdit.png" -command "PolygonNormalEditTool; toolPropertyWindow" ; menuItem -divider true -dividerLabel (uiRes("m_ModelingMeshDisplayMenu.kVertexColorsDivider")); menuItem -rtc "PolygonApplyColor" -dragMenuCommand "performApplyColor 2" -dragDoubleClickCommand "PolygonApplyColorOptions" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PolygonApplyColorOptions")) -image "polyApplyColor.png" -command "PolygonApplyColorOptions" ; menuItem -rtc "PaintVertexColorTool" -dragDoubleClickCommand "PaintVertexColorToolOptions" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PaintVertexColorToolOptions")) -image "paintVertexColour.png" -command "PaintVertexColorToolOptions" ; menuItem -divider true -dividerLabel (uiRes("m_ModelingMeshDisplayMenu.kVertexColorSetsDivider")); menuItem -enableCommandRepeat true -rtc "CreateEmptySet" -dragMenuCommand "createEmptyColorSet 0" -dragDoubleClickCommand "createEmptyColorSet 1" ; menuItem -optionBox true -rtc "CreateEmptySetOptions"; menuItem -enableCommandRepeat true -enable true -rtc "DeleteCurrentSet" ; menuItem -enableCommandRepeat true -enable true -rtc "RenameCurrentSet" ; menuItem -enableCommandRepeat true -enable true -rtc "ModifyCurrentSet" ; menuItem -divider true -longDivider false; menuItem -rtc "SetKeyframeForVertexColor"; menuItem -divider true -longDivider false; menuItem -enableCommandRepeat true -enable true -rtc "OpenColorSetEditor"; menuItem -divider true -dividerLabel (uiRes("m_ModelingMeshDisplayMenu.kVertexBakeSetsDivider")); menuItem -rtc "PreflightPolygon" -dragMenuCommand ("performPrelight " + 2) -dragDoubleClickCommand ("performPrelight " + 1) PolygonBakingMenuItemsAnchorPoint ; menuItem -optionBox true -rtc "PreflightPolygonOptions" PolyColorPrelightOpt ; menuItem -rtc "AssignNewSet" vertexBakeSetItem; // Second menu assigns from existing bake sets. // string $menuAssign = `menuItem -label (uiRes("m_ModelingMeshDisplayMenu.kPolyNewExistingBakeSet")) -subMenu true -image "polyBakeSetAssign.png" -allowOptionBoxes true assignExistingVertexBakeSetItem`; menuItem -edit -postMenuCommand ("polyBuildAssignBakingMenu " + $menuAssign + " \"" + "\"") assignExistingVertexBakeSetItem; setParent -menu ..; menuItem -rtc "EditAssignedSet"; menuItem -divider true -dividerLabel (uiRes("m_ModelingMeshDisplayMenu.kDisplayAttributesDivider")); menuItem -rtc "ToggleDisplayColorsAttr" dispColorShadeMode ; menuItem -label (uiRes("m_ModelingMeshDisplayMenu.kNewPolyColorMaterial")) -subMenu 1 -tearOff 1 ; { menuItem -rtc "SetCMCNone" materialNoneMenuItem; menuItem -rtc "SetCMCAmbient" materialAmbientMenuItem; menuItem -rtc "SetCMCAmbientDiffuse" materialAmbDiffMenuItem; menuItem -rtc "SetCMCDiffuse" materialDiffuseMenuItem; menuItem -rtc "SetCMCSpecular" materialSpecularMenuItem; menuItem -rtc "SetCMCEmission" materialEmissionMenuItem; setParent -menu ..; } menuItem -label (uiRes("m_ModelingMeshDisplayMenu.kNewPolyMaterialBlend")) -subMenu 1 -tearOff 1 ; { menuItem -rtc "SetMBSOverwrite" blendOverwriteItem; menuItem -rtc "SetMBSAdd" blendAddMenuItem; menuItem -rtc "SetMBSSubtract" blendSubractItem; menuItem -rtc "SetMBSMultiply" blendMultiplyItem; menuItem -rtc "SetMBSDivide" blendDivideItem; menuItem -rtc "SetMBSAverage" blendAverageItem; menuItem -rtc "SetMBSModulate2" blendModulateItem; setParent -menu ..; } menuItem -label (uiRes("m_ModelingMeshDisplayMenu.kPolyColorsPerInstance")) -subMenu true -to true -allowOptionBoxes true; menuItem -rtc "SelectSharedColorInstances"; menuItem -rtc "ShareColorInstances"; setParent -menu ..; setParent -m ..; refreshPolygonsColorMenu $parent; } }