// =========================================================================== // 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. // =========================================================================== // // Procedure Name: // contextPolyToolsEdgeMM // // Description: // This procedure creates the popup/marking menu // for poly edge tools. See ModelEdMenu. // // Input Arguments: // None // // Return Value: // None. global proc contextPolyToolsEdgeMM() { int $mtkEnable = (`pluginInfo -q -loaded "modelingToolkit"`); menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kExtrudeEdge")) -command "performPolyExtrude 0" -radialPosition "S" -enableCommandRepeat 1 -image "polyExtrudeEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kExtrudeEdgeOptions")) -command "performPolyExtrude 1" -optionBox 1 -radialPosition "S" -enableCommandRepeat 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kDeleteEdge")) -command "DeleteEdge" -radialPosition "SW" -enableCommandRepeat 1 -image "polyDelEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kBevelEdge")) -command "BevelPolygon" -radialPosition "E" -enableCommandRepeat 1 -image "polyBevel.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kBevelEdgeOptions")) -command "BevelPolygonOptions" -optionBox 1 -radialPosition "E" -enableCommandRepeat 1 ; menuItem -version "2018" -label (uiRes("m_contextPolyToolsEdgeMM.kSoftenHardenEdge")) -subMenu 1 -tearOff 0 -radialPosition "SE" -allowOptionBoxes 1 -postMenuCommandOnce 0 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleSoftEdgeDisplay")) -command "int $g_cond[1]=`polyOptions -q -ae`; if ($g_cond[0]) polyOptions -se; else polyOptions -ae;" -radialPosition "S" -enableCommandRepeat 1 -image "commandButton.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kHardenEdge")) -command "polyPerformAction \"polySoftEdge -a 0\" e 0" -radialPosition "SE" -enableCommandRepeat 1 -image "polyHardEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSoftenHarden")) -command "PolygonSoftenHarden" -radialPosition "E" -enableCommandRepeat 1 -image "polySoftEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSoftenHardenOptions")) -command "PolygonSoftenHardenOptions" -optionBox 1 -radialPosition "E" -enableCommandRepeat 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSoftenEdge")) -command "polyPerformAction \"polySoftEdge -a 180\" e 0" -radialPosition "NE" -enableCommandRepeat 1 -image "polySoftEdge.png" ; setParent -m ..; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeCollapseEdges")) -subMenu 1 -tearOff 0 -radialPosition "N" -allowOptionBoxes 1 -postMenuCommandOnce 0 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeBorderEdges")) -command "performPolyMerge 0" -radialPosition "NE" -enableCommandRepeat 1 -image "polySewEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeBorderEdgesOptions")) -command "performPolyMerge 1" -optionBox 1 -radialPosition "NE" -enableCommandRepeat 1 ; if ($mtkEnable) { menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kPolyBuildMergeVertTool")) -annotation (getRunTimeCommandAnnotation("MergeVertexTool")) -image "weld_NEX32.png" -radialPosition "S" -command "MergeVertexTool" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("MergeVertexToolOptions")) -image "weld_NEX32.png" -radialPosition "W" -command "MergeVertexToolOptions" ; } else { menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeEdgeTool")) -command "MergeEdgeTool" -radialPosition "NW" -enableCommandRepeat 1 -image "polyMergeEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeEdgeToolOptions")) -command "MergeEdgeToolOptions" -optionBox 1 -radialPosition "NW" -enableCommandRepeat 1 ; } menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kCollapseEdge")) -command "polyCollapseEdge" -radialPosition "E" -enableCommandRepeat 1 -image "polyCollapseEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMergeEdgesToCenter")) -command "MergeToCenter;" -radialPosition "N" -enableCommandRepeat 1 -image "commandButton.png" ; setParent -m ..; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kFlipSpinEdges")) -subMenu 1 -tearOff 0 -radialPosition "NE" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kFlipTriangleEdge")) -command "FlipTriangleEdge" -radialPosition "N" -enableCommandRepeat 1 -image "polyFlipEdge.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSpinForward")) -command "PolySpinEdgeForward" -radialPosition "E" -enableCommandRepeat 1 -image "polySpinEdgeForward.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSpinBackward")) -command "PolySpinEdgeBackward" -radialPosition "W" -enableCommandRepeat 1 -image "polySpinEdgeBackward.png" ; setParent -m ..; menuItem -version "2015" -label (uiRes("m_contextPolyToolsEdgeMM.kMultiCutTool")) -command "dR_multiCutTool" -en $mtkEnable -radialPosition "W" -allowOptionBoxes 1 -image "multiCut_NEX32.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kMultiCutToolOptions")) -command "dR_multiCutTool; toolPropertyWindow;" -optionBox 1 -radialPosition "W" -enableCommandRepeat 1 -enable $mtkEnable ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kPaintSelectEdges")) -command "ArtPaintSelectTool" -radialPosition "NW" -enableCommandRepeat 1 -image "artSelect.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kCreaseTool")) -command "PolyCreaseTool" -enableCommandRepeat 1 -image "polyCrease.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kCreaseToolOptions")) -command "PolyCreaseToolOptions" -optionBox 1 -enableCommandRepeat 1 -image "polyCrease.png" ; string $duplicateEdgesLabel, $duplicateEdgesOptions, $duplicateEdgesAnnotation; if( !`optionVar -exists polyDuplicateEdgeAsTool` || `optionVar -q polyDuplicateEdgeAsTool` ) { $duplicateEdgesLabel = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoopTool")); $duplicateEdgesOptions = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoopToolOptions")); $duplicateEdgesAnnotation = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoopToolAnnot")); } else { $duplicateEdgesLabel = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoop")); $duplicateEdgesOptions = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoopOptions")); $duplicateEdgesAnnotation = (uiRes("m_contextPolyToolsEdgeMM.kOffsetEdgeLoopAnnot")); } menuItem -label $duplicateEdgesLabel -annotation $duplicateEdgesAnnotation -image "polyDuplicateEdgeLoop.png" -command "DuplicateEdges" -dragMenuCommand "performPolyDuplicateEdge 2" -dragDoubleClickCommand "DuplicateEdgesOptions" ; menuItem -optionBox true -annotation $duplicateEdgesOptions -image "polyDuplicateEdgeLoop.png" -command "DuplicateEdgesOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kInsertEdgeLoopTool")) -annotation (getRunTimeCommandAnnotation("SplitEdgeRingTool")) -image "polySplitEdgeRing.png" -command "SplitEdgeRingTool" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kInsertEdgeLoopToolOptions")) -annotation (getRunTimeCommandAnnotation("SplitEdgeRingToolOptions")) -image "polySplitEdgeRing.png" -command "SplitEdgeRingToolOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kSlideEdgeTool")) -image "slideEdgeTool.png" -enableCommandRepeat 1 -command "SlideEdgeTool" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kSlideEdgeToolOptions")) -image "slideEdgeTool.png" -enableCommandRepeat 1 -command "SlideEdgeToolOptions" ; menuItem -version 2018 -label (uiRes("m_contextPolyToolsEdgeMM.kCircularize")) -image "polyCircularize.png" -enableCommandRepeat 1 -command "PolyCircularize" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kCircularizeOptions")) -image "slideEdgeTool.png" -enableCommandRepeat 1 -command "PolyCircularizeOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kEditEdgeFlow")) -enableCommandRepeat 1 -image "polyEditEdgeFlow.png" -command "PolyEditEdgeFlow" -version "2014" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kEditEdgeFlowOptions")) -enableCommandRepeat 1 -image "polyEditEdgeFlow.png" -command "PolyEditEdgeFlowOptions" -version "2014" ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kAddDivisionsToEdge")) -image "polySubdFacet.png" -enableCommandRepeat 1 -command "performPolySubdivide \"\" 0" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kAddDivisionsOptions")) -enableCommandRepeat 1 -command "SubdividePolygonOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kBridge")) -annotation (getRunTimeCommandAnnotation("BridgeEdge")) -image "polyBridge.png" -command "performBridgeOrFill" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kBridgeOptions")) -annotation (getRunTimeCommandAnnotation("BridgeEdgeOptions")) -command "BridgeEdgeOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kFillHole")) -command "FillHole" -enableCommandRepeat 1 -image "polyCloseBorder.png" ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kConnectComponents")) -annotation (getRunTimeCommandAnnotation("ConnectComponents")) -image "polyConnectComponents.png" -enableCommandRepeat 1 -command "ConnectComponents" ; menuItem -optionBox true -label (uiRes("m_contextPolyToolsEdgeMM.kConnectComponentsOptions")) -annotation (getRunTimeCommandAnnotation("ConnectComponentsOptions")) -image "polyConnectComponents.png" -enableCommandRepeat 1 -command "ConnectComponentsOptions" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kDetach")) -annotation (getRunTimeCommandAnnotation("DetachComponent")) -image "polySplitVertex.png" -enableCommandRepeat 1 -command "DetachComponent" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kTransformComponent")) -command "MovePolygonComponent;" -enableCommandRepeat 1 -image "polyMoveVertex.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kTransformComponentOptions")) -command "MovePolygonComponentOptions" -optionBox 1 -enableCommandRepeat 1 ; menuItem -version 2015 -enable $mtkEnable -label (uiRes("m_contextPolyToolsEdgeMM.kMTKConnectTool")) -annotation (uiRes("m_contextPolyToolsEdgeMM.kMTKConnectToolAnn")) -command "dR_connectTool" -image "connect_NEX32.png" MTKConnectToolMM; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kConnectToolOptions")) -command "dR_connectTool; toolPropertyWindow;" -optionBox 1 -enableCommandRepeat 1 -enable $mtkEnable ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kPolygonDisplay")) -subMenu 1 -allowOptionBoxes 1 -postMenuCommandOnce 0 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleBackfaceCulling")) -command "int $cond[1]=`polyOptions -q -fb`; if ($cond[0]) polyOptions -bc; else polyOptions -fb;" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleBorderEdges")) -command "polyOptions -dmb 0 ;polyOptions -r -db on" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleTextureBorderEdges")) -command "polyOptions -db 0 ;polyOptions -r -dmb 1" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleHiddenTriangleEdges")) -command "polyOptions -r -dt 1" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kToggleSoftEdgeDisplay2")) -command "int $g_cond[1]=`polyOptions -q -ae`; if ($g_cond[0]) polyOptions -se; else polyOptions -ae;" -radialPosition "S" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; menuItem -divider 1 ; menuItem -label (uiRes("m_contextPolyToolsEdgeMM.kResetPolygonDisplay")) -command "polyOptions -activeObjects -ae -sb 3 -db 0 -dmb 0 -dv 0 -dn 0 -facet -dc 0 -dt 0 -dw 0 -din 0 0 0 0 -sn 0.4 -bc -duv 0 -uvt 0 -cs 0 -cm diffuse -bcv 1" -enableCommandRepeat 1 -image "menuIconDisplay.png" ; setParent -menu ..; setParent -menu ..; }