// =========================================================================== // 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 April 1997 // // Procedure Name: // performPolyCopyUV // // Description: // // // Input Arguments: // $option : Whether to set the options to default values. // Return Value: // command string iff $option==2 // // // Initialize optionVars for polyCopyUV: // proc setOptionVars ( string $prefix, int $forceFactorySettings, string $vars[] ) { string $varName; // Must match $vars int $intValues[]= { 1, 0 }; for ( $i = size($vars) ; $i-- ; ) { $varName = ($prefix + $vars[$i]); if ($forceFactorySettings || !`optionVar -exists $varName`) optionVar -intValue $varName $intValues[$i]; } // Also add the map names $varName = ($prefix + "uvi"); if ($forceFactorySettings || !`optionVar -exists $varName`) optionVar -stringValue $varName "map1"; $varName = ($prefix + "uvs"); if ($forceFactorySettings || !`optionVar -exists $varName`) optionVar -stringValue $varName ""; } global proc performPolyCopyUVSetup (string $parent, int $forceFactorySettings) { string $prefix = "polyCopyUV"; string $intVars[] ={"ibd", "cm"}; string $varName; int $i; setOptionVars($prefix, $forceFactorySettings, $intVars); setParent $parent; $varName = ($prefix + $intVars[0]); int $val = `optionVar -query $varName`; checkBoxGrp -e -value1 $val $varName; $varName = ($prefix + $intVars[1]); $val = `optionVar -query $varName`; checkBoxGrp -e -value1 $val $varName; $varName = ($prefix + "uvs"); textFieldGrp -e -tx `optionVar -q $varName` $varName; $varName = ($prefix + "uvi"); textFieldGrp -e -tx `optionVar -q $varName` $varName; } global proc performPolyCopyUVCallback (string $parent, int $doIt) { string $prefix = "polyCopyUV"; string $intVars[] ={"ibd", "cm"}; string $varName; setParent $parent; $varName = ($prefix + $intVars[0]); optionVar -intValue $varName `checkBoxGrp -q -v1 $varName`; $varName = ($prefix + $intVars[1]); optionVar -intValue $varName `checkBoxGrp -q -v1 $varName`; $varName = ($prefix + "uvs"); optionVar -stringValue $varName `textFieldGrp -q -tx $varName`; $varName = ($prefix + "uvi"); optionVar -stringValue $varName `textFieldGrp -q -tx $varName`; if ($doIt) { performPolyCopyUV 0; addToRecentCommandQueue "performPolyCopyUV 0" "PolyCopyUV"; } } proc polyCopyUVOptions (string $prefix, string $intVars[]) { string $commandName = "performPolyCopyUV"; string $callback = ($commandName + "Callback"); string $setup = ($commandName + "Setup"); string $varName; string $layout = getOptionBox(); setParent $layout; setUITemplate -pushTemplate DefaultTemplate; waitCursor -state 1; string $parent = `columnLayout -adjustableColumn 1`; $varName = ($prefix + $intVars[0]); checkBoxGrp -l1 (uiRes("m_performPolyCopyUV.kInsertBeforeDeform")) $varName; $varName = ($prefix + "uvi"); textFieldGrp -l (uiRes("m_performPolyCopyUV.kInputUVSetName")) $varName; $varName = ($prefix + $intVars[1]); checkBoxGrp -l1 (uiRes("m_performPolyCopyUV.kCreateNew")) $varName; $textName = ($prefix + "uvs"); textFieldGrp -l (uiRes("m_performPolyCopyUV.kOutputUVSetName")) $textName; waitCursor -state 0; setUITemplate -popTemplate; string $applyBtn = getOptionBoxApplyBtn(); button -edit -label (uiRes("m_performPolyCopyUV.kCopy")) -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_performPolyCopyUV.kOptions"))); setOptionBoxHelpTag( "CopyUV" ); eval (($setup + " " + $parent + " " + 0)); showOptionBox(); } global proc string performPolyCopyUV (int $option) { string $prefix = "polyCopyUV"; string $intVars[] ={"ibd", "cm"}; string $cmd=""; switch ($option) { case 0: string $varName; int $ival; setOptionVars($prefix, false, $intVars); $cmd = "polyCopyUV"; for ( $i = size($intVars) ; $i-- ; ) { $varName = ($prefix + $intVars[$i]); $ival = `optionVar -query $varName`; $cmd = $cmd + " -" + $intVars[$i] + " " + $ival; } $varName = ($prefix + "uvs"); string $sval = `optionVar -query $varName`; if ($sval != "") $cmd = $cmd + " -uvs " + $sval; $varName = ($prefix + "uvi"); $sval = `optionVar -query $varName`; if ($sval != "") $cmd = $cmd + " -uvi " + $sval; polyPerformAction $cmd "f" 0; break; case 1: polyCopyUVOptions($prefix, $intVars); break; case 2: $cmd="performPolyCopyUV 0"; break; } return $cmd; }