// =========================================================================== // 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. // =========================================================================== global proc manipMoveOrientJointPrefs( string $parent ) { string $prev = `setParent -q`; setParent $parent; int $state = `checkBoxGrp -q -v1 orientJointCheckBox` ; control -e -enable $state JointOrientOptsLayout; setParent $prev; } global proc manipMoveBuildOrientMenu(string $menu) { menu -e -dai $menu; menuItem -label (uiRes("m_manipMoveProperties.kMoveSetOriToObject")) -p $menu -c "manipMoveOrient 5"; menuItem -label (uiRes("m_manipMoveProperties.kMoveSetOriToComponent")) -p $menu -c "manipMoveOrient 4"; menuItem -label (uiRes("m_manipMoveProperties.kMoveSetOriToVertex")) -p $menu -c "manipMoveOrient 1"; menuItem -label (uiRes("m_manipMoveProperties.kMoveSetOriToEdge")) -p $menu -c "manipMoveOrient 2"; menuItem -label (uiRes("m_manipMoveProperties.kMoveSetOriToFace")) -p $menu -c "manipMoveOrient 3"; menuItem -label (uiRes("m_manipMoveProperties.kMoveResetOri")) -p $menu -c "manipMoveOrient 0"; } global proc manipMoveBuildAxisMenu(string $menu) { menu -e -dai $menu; menuItem -label (uiRes("m_manipMoveProperties.kObject")) -p $menu -c "manipMoveContext -e -mode 0 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kWorld")) -p $menu -c "manipMoveContext -e -mode 2 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kAutoAlign")) -p $menu -c "manipMoveContext -e -mode 10 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kLocal")) -p $menu -c "manipMoveContext -e -mode 1 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kNormal")) -p $menu -c "manipMoveContext -e -mode 3 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kAlongRotationAxis")) -p $menu -c "manipMoveContext -e -mode 4 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kAlongLiveObjectAxis")) -p $menu -c "manipMoveContext -e -mode 5 $currManipMovePropertiesCtx"; menuItem -label (uiRes("m_manipMoveProperties.kCustomAxisOrientation")) -p $menu -c "manipMoveContext -e -mode 6 $currManipMovePropertiesCtx"; } global proc int manipMoveGetSnapMode() { global string $currManipMovePropertiesCtx; int $enabled = `manipMoveContext -q -snap $currManipMovePropertiesCtx`; int $relative = $enabled && `manipMoveContext -q -snapRelative $currManipMovePropertiesCtx`; return !$enabled ? /*off*/0 : $relative ? /*relative*/1 : /*absolute*/2; } global proc manipMoveSetSnapMode(int $mode) { global string $currManipMovePropertiesCtx; global int $manipMovePrevSnapMode; if ($mode != 0) $manipMovePrevSnapMode = $mode; switch ($mode) { default: case 0: manipMoveContext -e -snap 0 $currManipMovePropertiesCtx; break; case 1: manipMoveContext -e -snap 1 -snapRelative 1 $currManipMovePropertiesCtx; break; case 2: manipMoveContext -e -snap 1 -snapRelative 0 $currManipMovePropertiesCtx; break; } } global proc manipMoveToggleSnapMode() { int $mode = manipMoveGetSnapMode(); global int $manipMovePrevSnapMode; manipMoveSetSnapMode($mode == 0 ? $manipMovePrevSnapMode : 0); } global proc manipMoveBuildSnapMenu(string $menu) { global string $currManipMovePropertiesCtx; menu -e -dai $menu; menuItem -label (uiRes("m_manipMoveProperties.kOff")) -p $menu -c "manipMoveSetSnapMode 0"; menuItem -label (uiRes("m_manipMoveProperties.kRelative")) -p $menu -c "manipMoveSetSnapMode 1"; int $manipMode = `manipMoveContext -q -mode $currManipMovePropertiesCtx`; if ($manipMode == /*world*/2) { // Absolute only supported in world mode menuItem -label (uiRes("m_manipMoveProperties.kAbsolute")) -p $menu -c "manipMoveSetSnapMode 2"; } } global proc manipMoveSetXformConstraint(string $mode) { global string $manipMovePrevXformConstraint; if ($mode != "none") $manipMovePrevXformConstraint = $mode; setXformConstraint $mode; } global proc manipMoveToggleXformConstraint() { global string $manipMovePrevXformConstraint; string $mode = `xformConstraint -q -type`; manipMoveSetXformConstraint($mode == "none" ? $manipMovePrevXformConstraint : "none"); } global proc manipMoveBuildXformConstraintMenu(string $menu) { menu -e -dai $menu; menuItem -label (uiRes("m_manipMoveProperties.kManipMoveXformConstraintNone")) -p $menu -c "manipMoveSetXformConstraint none"; menuItem -label (uiRes("m_manipMoveProperties.kManipMoveXformConstraintEdge")) -p $menu -c "manipMoveSetXformConstraint edge"; menuItem -label (uiRes("m_manipMoveProperties.kManipMoveXformConstraintSurf")) -p $menu -c "manipMoveSetXformConstraint surface"; } global proc moveOrientAxesChanged(int $i, float $value) { global string $currManipMovePropertiesCtx; float $ori[] = `manipMoveContext -q -orientAxes $currManipMovePropertiesCtx`; $ori[$i] = deg_to_rad($value); manipMoveContext -e -mode 6 -orientAxes $ori[0] $ori[1] $ori[2] $currManipMovePropertiesCtx; } global proc manipMoveProperties () { global int $manipMovePrevSnapMode = 1; global string $manipMovePrevXformConstraint = "surface"; jointOrientUtils; // Linux Motif2.1 shrinks the checkBox, if the string is "" // NT would tab over the blank (" ") string label. // So... string $emptyLabel = ""; if (`about -linux`) { $emptyLabel = " "; } string $parent = `toolPropertyWindow -q -location`; setParent $parent; // Define manip move context associated with the current tool. This is // used by callbacks to execute move commands. (MAYA-63108) string $curContext = `currentCtx`; global string $currManipMovePropertiesCtx; $currManipMovePropertiesCtx = (`superCtx -ex $curContext` ? `superCtx -q $curContext` : $curContext); if ("" == $currManipMovePropertiesCtx) $currManipMovePropertiesCtx = "Move"; setUITemplate -pushTemplate OptionsTemplate; columnLayout manipMove; frameLayout -collapsable true -collapse false -label (uiRes("m_manipMoveProperties.kMoveSettings")) manipMoveFrame; columnLayout manipMoveOptions; separator -style "none"; rowLayout -nc 3 -cw3 132 20 190; text -l (uiRes("m_manipMoveProperties.kMove")) -align right axisOrientationLabel; string $axisButton = `iconTextButton -w 17 -h 26 -image ("popupMenuIcon.png") axisOrientMenuButton`; string $axisMenu = `popupMenu -b 1 -p $axisButton`; menu -e -pmc ("manipMoveBuildAxisMenu " + $axisMenu) $axisMenu; string $axisMenu2 = `popupMenu -b 2 -p $axisButton`; menu -e -pmc "manipMoveContext -e -mode `manipMoveContext -q -lastMode $currManipMovePropertiesCtx` $currManipMovePropertiesCtx" $axisMenu2; textField -ed false -width 190 -height 25 -ann (uiRes("m_manipMoveProperties.kCustomAxisOrientationAnn")) axisOrientField; setParent ..; rowLayout -nc 5 -cw5 132 20 62 62 62; text -l $emptyLabel -align right moveOrientLabel; string $orientButton = `iconTextButton -w 17 -h 26 -image ("popupMenuIcon.png") moveOrientMenuButton`; string $menu = `popupMenu -b 1 -p $orientButton`; menu -e -pmc ("manipMoveBuildOrientMenu " + $menu) $menu; string $menu2 = `popupMenu -b 2 -p $orientButton`; menu -e -pmc "manipMoveOrient -1" $menu2; floatField -w 62 -ann (uiRes("m_manipMoveProperties.kCustomAxisOrientFieldsAnn")) -cc "moveOrientAxesChanged 0 #1" manipMoveOrientFieldX; floatField -w 62 -ann `uiRes("m_manipMoveProperties.kCustomAxisOrientFieldsAnn")` -cc "moveOrientAxesChanged 1 #1" manipMoveOrientFieldY; floatField -w 62 -ann `uiRes("m_manipMoveProperties.kCustomAxisOrientFieldsAnn")` -cc "moveOrientAxesChanged 2 #1" manipMoveOrientFieldZ; setParent ..; separator -style "none"; rowLayout -nc 3 -cw3 132 100 50; text -l (uiRes("m_manipMoveProperties.kPivotLabel")) -align right editPivotLabel; iconTextButton -st "textOnly" -l (uiRes("m_manipMoveProperties.kEditPivot")) -ann (uiRes("m_manipMoveProperties.kEditPivotAnn")) -flat 0 -w 100 -h 23 editPivotButton; iconTextButton -st "textOnly" -l (uiRes("m_manipMoveProperties.kResetPivot")) -ann (uiRes("m_manipMoveProperties.kResetPivotAnn")) -flat 0 -w 50 -h 23 resetPivotButton; setParent ..; checkBoxGrp -ncb 1 -label $emptyLabel -label1 (uiRes("m_manipMoveProperties.kSnapPivotPos")) -cc ("setTRSSnapPivotPos #1") -ann (uiRes("m_manipMoveProperties.kSnapPivotPosAnn")) snapPivotPosCheckBx; checkBoxGrp -ncb 1 -label $emptyLabel -label1 (uiRes("m_manipMoveProperties.kSnapPivotOri")) -cc1 ("setTRSSnapPivotOri #1") -ann (uiRes("m_manipMoveProperties.kSnapPivotOriAnn")) snapPivotOriCheckBx; checkBoxGrp -ncb 1 -label $emptyLabel -label1 (uiRes("m_manipMoveProperties.kPinComponentPivot")) -cc1 ("setTRSPinPivot #1") -ann (uiRes("m_manipMoveProperties.kPinComponentPivotAnn")) pinComponentPivotCheckBx; checkBoxGrp -ncb 1 -label $emptyLabel -label1 (uiRes("m_manipMoveProperties.kPivotOriHandle")) -cc1 ("setTRSPivotOriHandle #1") -ann (uiRes("m_manipMoveProperties.kPivotOriHandleAnn")) pivotOriHandleCheckBx; separator; rowLayout -nc 3 -cw3 132 20 131; text -align right -l (uiRes("m_manipMoveProperties.kManipMoveXformConstraint")) -ann (uiRes("m_manipMoveProperties.kManipMoveXformConstraintAnn")) manipMoveXformConstraintLabel; string $constraintButton = `iconTextButton -w 17 -h 26 -image ("popupMenuIcon.png") -ann (uiRes("m_manipMoveProperties.kManipMoveXformConstraintAnn")) manipMoveXformConstraintButton`; string $constraintMenu = `popupMenu -b 1 -p $constraintButton`; menu -e -pmc ("manipMoveBuildXformConstraintMenu " + $constraintMenu) $constraintMenu; string $constraintToggle = `popupMenu -b 2 -p $constraintButton`; menu -e -pmc "manipMoveToggleXformConstraint" $constraintToggle; textField -ed false -width 131 -height 25 -ann `uiRes("m_manipMoveProperties.kManipMoveXformConstraintAnn")` manipMoveXformConstraintModeLabel; setParent ..; radioButtonGrp -nrb 2 -label $emptyLabel -label1 (uiRes("m_manipMoveProperties.kManipMoveXformConstraintAlongNormals")) -label2 (uiRes("m_manipMoveProperties.kManipMoveXformConstraintClosestPoint")) -an1 (uiRes("m_manipMoveProperties.kManipMoveXformConstraintAlongNormalsAnn")) -an2 (uiRes("m_manipMoveProperties.kManipMoveXformConstraintClosestPointAnn")) -cc1 ("setXformConstraintAlongNormal 1") -cc2 ("setXformConstraintAlongNormal 0") manipMoveXformConstraintAlongNormalRadioBtn; rowLayout -nc 4 -cw4 132 20 77 52; text -align right -l (uiRes("m_manipMoveProperties.kStepSnap")) -ann (uiRes("m_manipMoveProperties.kStepSnapAnn")) manipMoveSnapLabel; string $snapButton = `iconTextButton -w 17 -h 26 -image ("popupMenuIcon.png") -ann (uiRes("m_manipMoveProperties.kStepSnapAnn")) manipMoveSnapButton`; string $snapMenu = `popupMenu -b 1 -p $snapButton`; menu -e -pmc ("manipMoveBuildSnapMenu " + $snapMenu) $snapMenu; string $snapToggle = `popupMenu -b 2 -p $snapButton`; menu -e -pmc "manipMoveToggleSnapMode" $snapToggle; textField -ed false -width 77 -height 25 -ann `uiRes("m_manipMoveProperties.kStepSnapAnn")` manipMoveSnapModeLabel; floatField -w 52 -pre 2 -v 1.0 -cc "manipMoveContext -e -snapValue #1 $currManipMovePropertiesCtx" manipMoveSnapValue; setParent ..; checkBoxGrp -label (uiRes("m_manipMoveProperties.kPreserveChildPos")) -ann (uiRes("m_manipMoveProperties.kPreserveChildPosAnn")) preserveChildCheckBx; checkBoxGrp -ncb 1 -label (uiRes("m_manipMoveProperties.kPreserveUVMove")) -label1 $emptyLabel -ann (uiRes("m_manipMoveProperties.kPreserveUVMoveAnn")) preserveUVCheckBx; checkBoxGrp -ncb 1 -vis true -label (uiRes("m_manipMoveProperties.kTweakMode")) -label1 "" -ann (uiRes("m_manipMoveProperties.kTweakModeAnn")) TweakModeCheckBox; checkBoxGrp -ncb 1 -vis true -label (uiRes("m_manipMoveProperties.kUpdateTriad")) -label1 $emptyLabel UVNtriadUpdateCheckBox; setParent ..; setParent ..; frameLayout -collapsable true -collapse true -label (uiRes("m_manipMoveProperties.kJointOrientSnapSettings")) jointOrientSnapFrame; $parent = `columnLayout jointOptions`; checkBoxGrp -ncb 1 -visible true -cw 1 10 -columnAlign 2 left -label "" -label1 (uiRes("m_manipMoveProperties.kEnableJointOrient")) -cc ( "manipMoveOrientJointPrefs " + $parent + ";" ) orientJointCheckBox; $parent = `columnLayout -adjustableColumn 1 JointOrientOptsLayout`; jointOrientOptionsSetup $parent; setParent manipMove; frameLayout -collapsable true -collapse true -label (uiRes("m_manipMoveProperties.kMoveSnapSettings")) manipMoveSnapFrame; columnLayout manipMoveSnapOptions; separator -style "none"; checkBoxGrp -ncb 1 -label1 (uiRes("m_manipMoveProperties.kRetainComponentSpacing")) manipSnapCompRelative; checkBoxGrp -ncb 2 -label (uiRes("m_manipMoveProperties.kSnaptoLivePolygon")) -label1 (uiRes("m_manipMoveProperties.kFaceCenter")) -label2 (uiRes("m_manipMoveProperties.kVertex")) manipSnapFaceVertex; setParent ..; setParent ..; commonSelectProperties(/*collapsed*/true, /*uvTool*/false); softSelectProperties(/*collapsed*/true, /*uvTool*/false); reflectionProperties(/*collapsed*/true, /*uvTool*/false); smartDupProperties(true); setParent ..; setUITemplate -popTemplate; }