// =========================================================================== // 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: 4 May 1998 // // Procedure Name: // performUnmirrorSmoothProxy // // Description: // Unmirrors a smooth proxy object // and mirrors to create a complete lores // // Input Arguments: // $option : Whether to set the options to default values. // Return Value: // command string // proc setOptionVars (int $forceFactorySettings) { if ($forceFactorySettings || !`optionVar -exists polyUnmirrorDirection`) { optionVar -intValue polyUnmirrorDirection 0; } } global proc performUnmirrorSmoothProxySetup (string $parent, int $forceFactorySettings) { setOptionVars($forceFactorySettings); setParent $parent; int $mDir = `optionVar -q polyUnmirrorDirection`; switch ($mDir) { case 1: radioButtonGrp -e -select 1 polyUnmirrorDirection123; break; case 2: radioButtonGrp -e -select 2 polyUnmirrorDirection123; break; case 3: radioButtonGrp -e -select 3 polyUnmirrorDirection123; break; case 4: radioButtonGrp -e -select 1 polyUnmirrorDirection456; break; case 5: radioButtonGrp -e -select 2 polyUnmirrorDirection456; break; case 6: radioButtonGrp -e -select 3 polyUnmirrorDirection456; break; default: radioButtonGrp -e -select 1 polyUnmirrorDirection123; break; } } global proc performUnmirrorSmoothProxyCallback (string $parent, int $doIt) { setParent $parent; int $mDirBtn123 = `radioButtonGrp -q -select polyUnmirrorDirection123`; int $mDirBtn456 = `radioButtonGrp -q -select polyUnmirrorDirection456`; int $mDir; switch ($mDirBtn123) { case 1: $mDir = 1; break; case 2: $mDir = 2; break; case 3: $mDir = 3; break; default: switch ($mDirBtn456) { case 1: $mDir = 4; break; case 2: $mDir = 5; break; case 3: $mDir = 6; break; default: $mDir = 1; } } optionVar -intValue polyUnmirrorDirection $mDir; if ($doIt) { performUnmirrorSmoothProxy 0; addToRecentCommandQueue "performUnmirrorSmoothProxy 0" "Remove Subdiv Proxy Mirror"; } } proc polyUnmirrorOptions () { // Global template variables for form spacing global int $gOptionBoxTemplateFrameSpacing; string $layout = getOptionBox(); setParent $layout; setUITemplate -pushTemplate OptionBoxTemplate; waitCursor -state 1; // Form layout string $parent = `formLayout polyUnmirrorOptions`; // Settings frame string $settingsFrame = `frameLayout -label (uiRes("m_performUnmirrorSmoothProxy.kSettingsFrame"))`; columnLayout; string $commandName = "performUnmirrorSmoothProxy"; string $callback = ($commandName + "Callback " + $parent + " "); string $setup = ($commandName + "Setup " + $parent + " "); setOptionBoxCommandName($commandName); radioButtonGrp -label (uiRes("m_performUnmirrorSmoothProxy.kMirrorDirection")) -numberOfRadioButtons 3 -label1 (uiRes("m_performUnmirrorSmoothProxy.kPlusX")) -label2 (uiRes("m_performUnmirrorSmoothProxy.kPlusY")) -label3 (uiRes("m_performUnmirrorSmoothProxy.kPlusZ")) -select 1 polyUnmirrorDirection123; radioButtonGrp -shareCollection polyUnmirrorDirection123 -numberOfRadioButtons 3 -label1 (uiRes("m_performUnmirrorSmoothProxy.kMinusX")) -label2 (uiRes("m_performUnmirrorSmoothProxy.kMinusY")) -label3 (uiRes("m_performUnmirrorSmoothProxy.kMinusZ")) polyUnmirrorDirection456; setParent $parent; // frameLayout setParent ..; // formLayout // Attach Settings frames to form layout formLayout -e -attachForm $settingsFrame "top" $gOptionBoxTemplateFrameSpacing -attachForm $settingsFrame "left" $gOptionBoxTemplateFrameSpacing -attachForm $settingsFrame "right" $gOptionBoxTemplateFrameSpacing -attachNone $settingsFrame "bottom" $parent; waitCursor -state 0; setUITemplate -popTemplate; string $applyBtn = getOptionBoxApplyBtn(); button -edit -label (uiRes("m_performUnmirrorSmoothProxy.kRemoveMirror")) -command ($callback + 1) $applyBtn; string $saveBtn = getOptionBoxSaveBtn(); button -edit -command ($callback + 0 + "; hideOptionBox") $saveBtn; string $resetBtn = getOptionBoxResetBtn(); button -edit -command ($setup + 1) $resetBtn; setOptionBoxTitle( (uiRes("m_performUnmirrorSmoothProxy.kRemoveSubdivProxyMirrorOptions"))); // Customize the 'Help' menu item text. // setOptionBoxHelpTag( "UnmirrorSmoothProxy" ); eval (($setup + 0)); showOptionBox(); } proc string assembleCmd() { int $doHistory = `constructionHistory -q -toggle`; string $cmd=("waitCursor -state on; polyUnmirrorSmoothProxy "); int $mdir = `optionVar -q polyUnmirrorDirection`; switch ($mdir) { case 1: $cmd += " 1 0 0 "; break; case 2: $cmd += " 0 1 0 "; break; case 3: $cmd += " 0 0 1 "; break; case 4: $cmd += "-1 0 0 "; break; case 5: $cmd += " 0 -1 0 "; break; case 6: $cmd += " 0 0 -1 "; break; default: $cmd += " 1 0 0 "; } $cmd+="2"; $cmd += "; waitCursor -state off"; return $cmd; } global proc string performUnmirrorSmoothProxy (int $option) { string $cmd=""; switch ($option) { case 0: $cmd=`assembleCmd `; string $res=`evalEcho $cmd`; break; case 1: polyUnmirrorOptions; break; case 2: $cmd=`assembleCmd`; break; default: $cmd = ("performUnmirrorSmoothProxy 0"); } return $cmd; }