// =========================================================================== // 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: Dec 3, 1998 // // Procedure Name: // performPolySetToFaceNormal // // Description: // Perform an operation that set selected vertex or vertex-face normals // to their face normals // // proc setOptionVars (int $forceFactorySettings) { if ($forceFactorySettings || !`optionVar -exists polySetToFaceNormalUserNormal`) optionVar -intValue polySetToFaceNormalUserNormal 0; } global proc performPolySetToFaceNormalSetup (string $parent, int $forceFactorySettings) { setOptionVars($forceFactorySettings); setParent $parent; int $ival; $ival = `optionVar -q polySetToFaceNormalUserNormal`; $ival++; // radioButtonGrp is 1 based radioButtonGrp -edit -select $ival polySetToFaceNormalUserNormal; } global proc performPolySetToFaceNormalCallback (string $parent, int $doIt) { setParent $parent; int $ival; $ival = `radioButtonGrp -query -select polySetToFaceNormalUserNormal`; $ival--; // radioButtonGrp is 1 based optionVar -intValue polySetToFaceNormalUserNormal $ival; if ($doIt) { performPolySetToFaceNormal 0; addToRecentCommandQueue "performPolySetToFaceNormal 0" "PolySetToFaceNormal"; } } proc polySetToFaceNormalOptions() { // Global template variables for form spacing global int $gOptionBoxTemplateFrameSpacing; string $commandName = "performPolySetToFaceNormal"; string $callback = ($commandName + "Callback"); string $setup = ($commandName + "Setup"); string $layout = getOptionBox(); setParent $layout; setUITemplate -pushTemplate OptionBoxTemplate; waitCursor -state 1; // Form layout string $parent = `formLayout polySetToFaceNormalOptions`; // Settings frame string $settingsFrame = `frameLayout -label (uiRes("m_performPolySetToFaceNormal.kSettingsFrame"))`; columnLayout; radioButtonGrp -numberOfRadioButtons 2 -label (uiRes("m_performPolySetToFaceNormal.kCreateVertexFaceNormals")) -label1 (uiRes("m_performPolySetToFaceNormal.kUnlockVertexFaceNormals")) -label2 (uiRes("m_performPolySetToFaceNormal.kMatchFaceNormal")) -vertical polySetToFaceNormalUserNormal; setParent $parent; // frameLayout setParent ..; // formLayout // Attach frame to form layout formLayout -edit -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_performPolySetToFaceNormal.kSetToFaceButton")) -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_performPolySetToFaceNormal.kSetToFaceNormalOptions")) ); setOptionBoxHelpTag( "NormalsSetToFace" ); eval (($setup + " " + $parent + " " + 0)); showOptionBox(); } global proc string performPolySetToFaceNormal (int $option) { string $cmd=""; switch ($option) { case 1: polySetToFaceNormalOptions; // Just the option box break; default: setOptionVars(false); int $val1 = `optionVar -q polySetToFaceNormalUserNormal`; if ($val1) $cmd = ("polySetToFaceNormal -setUserNormal "); else $cmd = ("polySetToFaceNormal "); if ($option == 0) evalEcho $cmd; break; } return $cmd; }