// =========================================================================== // 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: 26 June 1998 // // // Procedure Name: // ModEditCurvesMenu // // Description: // Create the MODELLING->Edit Curves menu // // Input Arguments: // parent to parent the menu to. // // Return Value: // None. // proc modEditCurvesMenuLabel( int $hasSurfaces ) { if( $hasSurfaces ) { if( `optionVar -q modelWithToolDuplCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDupSurfCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDupSurfCrvToolAnnot")) duplicateCurveItem ; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDupSurfCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDupSurfCrvToolDialogAnnot")) duplicateCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDupSurfCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDupSurfCrvAnnot")) duplicateCurveItem ; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDupSurfCurvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDupSurfCrvDialogAnnot")) duplicateCurveDialogItem; } } if( `optionVar -q modelWithToolAttachCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAttachCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAttachCrvToolAnnot")) attachCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAttachCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAttachCrvToolDialogAnnot")) attachCrvDialog; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAttachCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAttachCrvAnnot")) attachCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAttachCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAttachCrvDialogAnnot")) attachCrvDialog; } if( `optionVar -q modelWithToolAlignCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAlignCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAlignCrvToolAnnot")) alignItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAlignCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAlignCrvToolDialogAnnot")) alignDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAlignCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAlignCrvAnnot")) alignItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kAlignCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kAlignCrvDialogAnnot")) alignDialogItem; } if( `optionVar -q modelWithToolDetachCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDetachCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDetachCrvToolAnnot")) detachItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDetachCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDetachCrvToolDialogAnnot")) detachDialog; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDetachCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDetachCrvAnnot")) detachItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kDetachCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kDetachCrvDialogAnnot")) detachDialog; } if( `optionVar -q modelWithToolInsertCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kInsertKnotToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kInsertKnotToolAnnot")) insertItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kInsertKnotToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kInsertKnotToolDialogAnnot")) insertDialog; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kInsertKnotLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kInsertKnotAnnot")) insertItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kInsertKnotDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kInsertKnotDialogAnnot")) insertDialog; } if( `optionVar -q modelWithToolFilletCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFilletCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFilletCrvToolAnnot")) crvFilletItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFilletCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFilletCrvToolDialogAnnot")) crvFilletDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFilletCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFilletCrvAnnot")) crvFilletItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFilletCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFilletCrvDialogAnnot")) crvFilletDialogItem; } if( `optionVar -q modelWithToolOffsetCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCrvToolAnnot")) offsetCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCrvToolDialogAnnot")) offsetCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCrvAnnot")) offsetCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCrvDialogAnnot")) offsetCurveDialogItem; } if( $hasSurfaces ) { if( `optionVar -q modelWithToolOffsetCoS` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCOSToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCOSToolAnnot")) offsetCosItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCOSToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCOSToolDialogAnnot")) offsetCosDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCOSLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCOSAnnot")) offsetCosItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kOffsetCOSDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kOffsetCOSDialogAnnot")) offsetCosDialogItem; } } if( `optionVar -q modelWithToolExtendCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCrvToolAnnot")) extendCurveItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCrvToolDialogAnnot")) extendCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCrvAnnot")) extendCurveItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCrvDialogAnnot")) extendCurveDialogItem; } if( $hasSurfaces ) { if( `optionVar -q modelWithToolExtendCosCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCOSToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCOSToolAnnot")) extendCosCurveItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCOSToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCOSToolDialogAnnot")) extendCosCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCOSLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCOSAnnot")) extendCosCurveItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kExtendCOSDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kExtendCOSDialogAnnot")) extendCosCurveDialogItem; } } if( `optionVar -q modelWithToolCloseCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCloseCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCloseCrvToolAnnot")) closeItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCloseCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCloseCrvToolDialogAnnot")) closeDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCloseCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCloseCrvAnnot")) closeItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCloseCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCloseCrvDialogAnnot")) closeDialogItem; } if( `optionVar -q modelWithToolReverseCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kReverseCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kReverseCrvToolAnnot")) reverseItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kReverseCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kReverseCrvToolDialogAnnot")) reverseDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kReverseCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kReverseCrvAnnot")) reverseItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kReverseCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kReverseCrvDialogAnnot")) reverseDialogItem; } if( `optionVar -q modelWithToolRebuildCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kRebuildCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kRebuildCrvToolAnnot")) rebuildCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kRebuildCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kRebuildCrvToolDialogAnnot")) rebuildCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kRebuildCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kRebuildCrvAnnot")) rebuildCrvItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kRebuildCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kRebuildCrvDialogAnnot")) rebuildCurveDialogItem; } if( `optionVar -q modelWithToolCutCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCutCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCutCrvToolAnnot")) cutCurvesItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCutCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCutCrvToolDialogAnnot")) cutCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCutCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCutCrvAnnot")) cutCurvesItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCutCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCutCrvDialogAnnot")) cutCurveDialogItem; } if( `optionVar -q modelWithToolIntersectCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kIntersectCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kIntersectCrvToolAnot")) intersectCurvesItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kIntersectCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kIntersectCrvToolDialogAnnot")) intersectCurveDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kIntersectCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kIntersectCrvAnnot")) intersectCurvesItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kIntersectCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kIntersectCrvDialogAnnot")) intersectCurveDialogItem; } if( `optionVar -q modelWithToolFitBspline` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFitBsplineToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFitBsplineToolAnnot")) fitBsplineItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFitBsplineToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFitBsplineToolDialogAnnot")) fitBsplineDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFitBsplineLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kFitBsplineAnnot")) fitBsplineItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kFitBsplineDialogAnnot")) -annotation (uiRes("m_ModEditCurvesMenu.kFitBsplineDialogLabel")) fitBsplineDialogItem; } if( `optionVar -q modelWithToolSmoothCurve` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kSmoothCrvToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kSmoothCrvToolAnnot")) smoothItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kSmoothCrvToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kSmoothCrvToolDialogAnnot")) smoothDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kSmoothCrvLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kSmoothCrvAnnot")) smoothItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kSmoothCrvDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kSmoothCrvDialogAnnot")) smoothDialogItem; } if( `optionVar -q modelWithToolCvHardness` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCVHardnessToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCVHardnessToolAnnot")) hardenItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCVHardnessToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCVHardnessToolDialogAnnot")) hardenDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCVHardnessLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCVHardnessAnnot")) hardenItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kCVHardnessDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kCVHardnessDialogAnnot")) hardenDialogItem; } if( `optionVar -q modelWithToolProjectTangent` ) { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kProjTanToolLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kProjTanToolAnnot")) projectTangentItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kProjTanToolDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kProjTanToolDialogAnnot")) projectTangentDialogItem; } else { menuItem -e -label (uiRes("m_ModEditCurvesMenu.kProjTanLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kProjTanAnnot")) projectTangentItem; menuItem -e -label (uiRes("m_ModEditCurvesMenu.kProjTanDialogLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kProjTanDialogAnnot")) projectTangentDialogItem; } } global proc ModEditCurvesMenu( string $parent ) { // If this ever changes to true, we have to make sure // we don't dim the tools. So, don't just change the // value. Milan S. int $dimWhenNoSelect = 0; int $hasSurfaces = `isTrue SurfaceUIExists`; setParent -m $parent; if( `menu -q -ni $parent` != 0 ) { // // Menu is built already - just relabel and return // modEditCurvesMenuLabel( $hasSurfaces ); return; } // Duplicate Surface Curves. // if( $hasSurfaces ) { menuItem -c "DuplicateCurve" -dmc "duplicateCurveToolScript 2" -i "duplicateCurve.png" duplicateCurveItem ; menuItem -optionBox true -i "duplicateCurve.png" -c "DuplicateCurveOptions" duplicateCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|duplicateCurveItem"); menuItem -d true ; } // Attach, Detach, Align, Open(close) // menuItem -c "AttachCurve" -dmc "attachCrvToolScript 2" -i "attachCurves.png" attachCrvItem; menuItem -optionBox true -i "attachCurves.png" -c "AttachCurveOptions" attachCrvDialog; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|attachCrvItem"); menuItem -c "DetachCurve" -dmc "detachCurveToolScript 2" -i "detachCurve.png" detachItem; menuItem -optionBox true -i "detachCurve.png" -c "DetachCurveOptions" detachDialog; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|detachItem"); menuItem -label (uiRes("m_ModEditCurvesMenu.kAlignCurvesLabel")) -c "AlignCurve" -dmc "alignCurveToolScript 2" -i "alignCurve.png" alignItem; menuItem -optionBox true -i "alignCurve.png" -c "AlignCurveOptions" alignDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|alignItem"); menuItem -label (uiRes("m_ModEditCurvesMenu.kOpenCloseCrvLabel")) -c "OpenCloseCurve" -dmc "closeCurveToolScript 2" -i "closeGeom.png" closeItem; menuItem -optionBox true -i "closeGeom.png" -c "OpenCloseCurveOptions" closeDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|closeItem"); // move seam mel script // menuItem -label (uiRes("m_ModEditCurvesMenu.kMoveSeamLabel")) -annotation (uiRes("m_ModEditCurvesMenu.kMoveSeamAnnot")) -image "newSeamLocation.png" -c "moveNurbsCurveSeam" moveCurveSeamItem; menuItem -d true ; // cut + intersect + curve fillet. // menuItem -c "CutCurve" -dmc "cutCurveToolScript 2" -i "cutCurves.png" cutCurvesItem; menuItem -optionBox true -i "cutCurves.png" -c "CutCurveOptions" cutCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|cutCurvesItem"); menuItem -c "IntersectCurve" -dmc "intersectCurveToolScript 2" -i "intersectCurves.png" intersectCurvesItem; menuItem -optionBox true -i "intersectCurves.png" -c "IntersectCurveOptions" intersectCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|intersectCurvesItem"); menuItem -c "CurveFillet" -dmc "filletCurveToolScript 2" -i "fillet.png" crvFilletItem; menuItem -optionBox true -i "fillet.png" -c "CurveFilletOptions" crvFilletDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|crvFilletItem"); menuItem -d true ; // Insert + Extend + Offset + reverse. // menuItem -c "InsertKnot" -dmc "insertCurveToolScript 2" -i "insertKnot.png" insertItem; menuItem -optionBox true -i "insertKnot.png" -c "InsertKnotOptions" insertDialog; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|insertItem"); if( $hasSurfaces ) { menuItem -label (uiRes("m_ModEditCurvesMenu.kExtendCurvesLabel")) -sm 1 -to 1 -aob true; } menuItem -c "ExtendCurve" -dmc "extendCurveToolScript 2" -i "extend.png" extendCurveItem; menuItem -optionBox true -i "extend.png" -c "ExtendCurveOptions" extendCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|extendCurveItem"); if( $hasSurfaces ) { menuItem -label (uiRes("m_ModEditCurvesMenu.kExtendCurveOnSurfLabel")) -c "ExtendCurveOnSurface" -dmc "extendCosCurveToolScript 2" -i "extendCos.png" extendCosCurveItem; menuItem -optionBox true -i "extendCos.png" -c "ExtendCurveOnSurfaceOptions" extendCosCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|extendCosCurveItem"); setParent -m .. ; } if( $hasSurfaces ) { menuItem -label (uiRes("m_ModEditCurvesMenu.kOffsetCurveLabel")) -sm 1 -to 1 -aob true; } menuItem -c "OffsetCurve" -dmc "offsetCurveToolScript 2" -i "offsetCurve.png" offsetCrvItem; menuItem -optionBox true -i "offsetCurve.png" -c "OffsetCurveOptions" offsetCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|offsetCrvItem"); if( $hasSurfaces ) { menuItem -c "OffsetCurveOnSurface" -dmc "offsetCosToolScript 2" -i "offsetCos.png" offsetCosItem; menuItem -optionBox true -i "offsetCos.png" -c "OffsetCurveOnSurfaceOptions" offsetCosDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|offsetCosItem"); setParent -m ..; } menuItem -c "ReverseCurve" -dmc "reverseCurveToolScript 2" -i "reverse.png" reverseItem; menuItem -optionBox true -i "reverse.png" -c "ReverseCurveOptions" reverseDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|reverseItem"); menuItem -d true ; // rebuild curve // menuItem -c "RebuildCurve" -dmc "rebuildCurveToolScript 2" -i "rebuildCurve.png" rebuildCrvItem; menuItem -optionBox true -i "rebuildCurve.png" -c "RebuildCurveOptions" rebuildCurveDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|rebuildCrvItem"); menuItem -d true ; // fit B-spline + smooth + cv Hardness. // menuItem -c "FitBSpline" -dmc "fitBsplineToolScript 2" -i "fitBSpline.png" fitBsplineItem; menuItem -optionBox true -i "fitBSpline.png" -c "FitBSplineOptions" fitBsplineDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|fitBsplineItem"); menuItem -c "SmoothCurve" -dmc "smoothCurveToolScript 2" -i "smoothCurve.png" smoothItem; menuItem -optionBox true -c "SmoothCurveOptions" -i "smoothCurve.png" smoothDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|smoothItem"); menuItem -c "CVHardness" -dmc "cvHardnessToolScript 2" -i "cvHardness.png" hardenItem; menuItem -optionBox true -c "CVHardnessOptions" -i "cvHardness.png" hardenDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|hardenItem"); menuItem -d true ; // add points + edit curve. // $cmd = "AddPointsTool"; menuItem -label (uiRes("m_ModEditCurvesMenu.kAddPointsLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -image "curveAddPt.png" -c $cmd crvAppendItem; $cmd = "CurveEditTool"; menuItem -label (uiRes("m_ModEditCurvesMenu.kCrvEditLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -image "curveEditor.png" -c $cmd crvEditorItem; menuItem -d true; // project Tangent // menuItem -c "ProjectTangent" -dmc "projectTangentToolScript 2" -i "projectTangent.png" projectTangentItem; menuItem -optionBox true -i "projectTangent.png" -c "ProjectTangentOptions" projectTangentDialogItem; if( $dimWhenNoSelect ) dimWhen -f "SomethingSelected" ($parent+"|projectTangentItem"); menuItem -d true; // hair-inspired curve editing tools string $curveModsItem = `menuItem -label (uiRes("m_ModEditCurvesMenu.kModifyCrvLabel")) -sm 1 -to 1 -aob true modifyCurvesItem`; ModifyCurvesSubMenu $curveModsItem; setParent -m .. ; // bezier curves // menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierCrvLabel")) -sm 1 -to 1 -aob false; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierPresetsLabel")) -sm 1 -to 1 -aob false; string $cmdBez = "bezierAnchorPreset -p 0;"; string $cmdBezCorner = "bezierAnchorPreset -p 1;"; string $cmdCorner = "bezierAnchorPreset -p 2;"; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierPresetBezier")) -command $cmdBez -enableCommandRepeat 1 ; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierPresetBezierCorner")) -command $cmdBezCorner -enableCommandRepeat 1 ; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierPresetCorner")) -command $cmdCorner -enableCommandRepeat 1 ; setParent -m ..; // anchor presets menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierTangentOptions")) -sm 1 -to 1 -aob false; string $cmdSmooth = "bezierAnchorState -sm 1"; string $cmdBroken = "bezierAnchorState -sm 0"; string $cmdEven = "bezierAnchorState -ev 1"; string $cmdUneven = "bezierAnchorState -ev 0"; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierSetAnchorSmooth")) -command $cmdSmooth -enableCommandRepeat 1 ; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierSetAnchorBroken")) -command $cmdBroken -enableCommandRepeat 1 ; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierSetAnchorEven")) -command $cmdEven -enableCommandRepeat 1 ; menuItem -label (uiRes("m_ModEditCurvesMenu.kBezierSetAnchorUneven")) -command $cmdUneven -enableCommandRepeat 1 ; setParent -m ..; // tangent options setParent -m ..; // bezier curves // curve conversion // menuItem -label (uiRes("m_ModEditCurvesMenu.kSelectionLabel")) -sm 1 -to 1 -aob true; menuItem -label (uiRes("m_ModEditCurvesMenu.kSelectCrvCVsLabel")) -annotation (getRunTimeCommandAnnotation ("SelectCurveCVsAll")) -image "selectCVs.png" -command "SelectCurveCVsAll" allCurveCVsItem; menuItem -label (uiRes("m_ModEditCurvesMenu.kSelectCrvCVsFirstLabel")) -annotation (getRunTimeCommandAnnotation ("SelectCurveCVsFirst")) -image "selectFirstCV.png" -command "SelectCurveCVsFirst" firstCurveCVsItem; menuItem -label (uiRes("m_ModEditCurvesMenu.kSelectCrvCVsLastLabel")) -annotation (getRunTimeCommandAnnotation ("SelectCurveCVsLast")) -image "selectLastCV.png" -command "SelectCurveCVsLast" lastCurveCVsItem; menuItem -label (uiRes("m_ModEditCurvesMenu.kClusterCrvLabel")) -annotation (getRunTimeCommandAnnotation ("ClusterCurve")) -image "selectCluster.png" -command "ClusterCurve" clusterCurveItem; setParent -m .. ; modEditCurvesMenuLabel( $hasSurfaces ); }