// =========================================================================== // 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: 18 April 1997 // // Description: // Mel support for ply normal operations. // global proc performPolyNormalSetup (string $parent, int $forceFactorySettings) { if ($forceFactorySettings || !`optionVar -exists polyNormalMode`) { optionVar -intValue polyNormalMode 0; } if ($forceFactorySettings || !`optionVar -exists polyUserNormalMode`) { optionVar -intValue polyUserNormalMode 1; } setParent $parent; int $ival = `optionVar -q polyNormalMode`; int $item; switch ($ival) { case 0: $item = 1; break; case 1: $item = 2; break; case 2: $item = 2; break; case 3: $item = 2; break; case 4: $item = 3; break; } radioButtonGrp -edit -sl $item polyNormalMode; $ival = `optionVar -q polyUserNormalMode`; switch ($ival) { case 0: $item = 1; break; case 1: $item = 2; break; } radioButtonGrp -edit -sl $item polyUserNormalMode; } global proc performPolyNormalCallback(string $parent, int $doIt) { setParent $parent; int $whichItem = `radioButtonGrp -query -sl polyNormalMode`; int $mode; switch ($whichItem) { case 1: // menuItem -l "Reverse" polyNormalReverseItem; $mode = 0; break; case 2: // menuItem -l "Reverse and Extract" polyNormalReverseExtractItem; $mode = 3; break; case 3: // menuItem -l "Reverse and Propagate" polyNormalReversePropagateItem; $mode = 4; break; } // set the option variable optionVar -intValue polyNormalMode $mode; // get the user mode setting int $whichMode = `radioButtonGrp -query -sl polyUserNormalMode`; int $ival = 0; switch ($whichMode) { case 1: $ival = 0; break; case 2: $ival = 1; break; } optionVar -intValue polyUserNormalMode $ival; if ($doIt) { performPolyNormal 0 $mode 0; string $tmpCmd = "performPolyNormal 0 " + $mode + " 0"; string $tmpLabel = "PolyReverseNormal"; addToRecentCommandQueue $tmpCmd $tmpLabel; } } proc polyNormalOptions() { // Global template variables for form spacing global int $gOptionBoxTemplateFrameSpacing; string $commandName = "performPolyNormal"; string $callback = ($commandName + "Callback "); string $setup = ($commandName + "Setup "); string $layout = getOptionBox(); setParent $layout; setUITemplate -pushTemplate OptionBoxTemplate; // Form layout string $parent = `formLayout polyNormalOptions`; // Settings frame string $settingsFrame = `frameLayout -label (uiRes("m_performPolyNormal.kSettingsFrame"))`; columnLayout; radioButtonGrp -nrb 3 -vr -label (uiRes("m_performPolyNormal.kReverseNormals")) -label1 (uiRes("m_performPolyNormal.kReverseNormals2")) -label2 (uiRes("m_performPolyNormal.kReverseNormals1")) -label3 (uiRes("m_performPolyNormal.kReverseNormals3")) polyNormalMode; radioButtonGrp -e -sl 1 polyNormalMode; radioButtonGrp -nrb 2 -vr -label (uiRes("m_performPolyNormal.kReverseUserNormals")) -label1 (uiRes("m_performPolyNormal.kReverseUserNormals1")) -da1 0 -label2 (uiRes("m_performPolyNormal.kReverseUserNormals2")) -da2 1 polyUserNormalMode; radioButtonGrp -e -sl 1 polyUserNormalMode; setParent $parent; setParent ..; // Attach frame to form layout formLayout -e -af $settingsFrame "top" $gOptionBoxTemplateFrameSpacing -af $settingsFrame "left" $gOptionBoxTemplateFrameSpacing -af $settingsFrame "right" $gOptionBoxTemplateFrameSpacing -an $settingsFrame "bottom" $parent; setUITemplate -popTemplate; string $applyBtn = getOptionBoxApplyBtn(); button -edit -label (uiRes("m_performPolyNormal.kReverseNormalsButton")) -command ($callback + " " + $parent + " " + 1) $applyBtn; string $saveBtn = getOptionBoxSaveBtn(); button -edit -command ($callback + " " + $parent + " " + 0 + "; hideOptionBox") $saveBtn; string $resetBtn = getOptionBoxResetBtn(); button -edit -command ($setup + " " + $parent + " " + 1) $resetBtn; setOptionBoxTitle( (uiRes("m_performPolyNormal.kReverseNormalsOptions")) ); setOptionBoxHelpTag( "NormalsReverse" ); eval (($setup + " " + $parent + " " + 0)); showOptionBox(); } global proc string performPolyNormal (int $option, int $mode, int $ret) { int $userMode = 0; if ($mode < 0) { $mode = `optionVar -q polyNormalMode`; } $userMode = `optionVar -q polyUserNormalMode`; switch ($option) { case 0: string $cmd = ("polyNormal -normalMode " + $mode + " -userNormalMode " + $userMode ); return `polyPerformAction $cmd f $ret`; case 1: polyNormalOptions; return ""; break; } return ""; }