// =========================================================================== // 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 createPolyHelixValues(string $toolName) { string $name = "createPolyHelix"; string $parent = (`toolPropertyWindow -q -location` + "|" + $name); setParent $parent; int $aDiv = `createPolyHelixCtx -q -sa $toolName`; int $hDiv = `createPolyHelixCtx -q -sl $toolName`; int $cDiv = `createPolyHelixCtx -q -sc $toolName`; int $roundCap = `createPolyHelixCtx -q -roundCap $toolName`; int $direction = `createPolyHelixCtx -q -direction $toolName`; int $numCoils = `createPolyHelixCtx -q -coils $toolName`; float $height = `createPolyHelixCtx -q -height $toolName`; float $width = `createPolyHelixCtx -q -width $toolName`; float $radius = `createPolyHelixCtx -q -radius $toolName`; int $uvSetting = `createPolyHelixCtx -q -createUVs $toolName`; int $createUV = 0; int $normalize = 0; int $preserveAR = 0; if ($uvSetting == 3){ $createUV = 1; $normalize = 1; $preserveAR = 1; } else if ($uvSetting == 2){ $createUV = 1; $normalize = 1; } else if ($uvSetting == 1){ $createUV = 1; } int $axis = `createPolyHelixCtx -q -axis $toolName`; int $dragEdit = `createPolyHelixCtx -q -doDragEdit $toolName`; int $dragEditCaps = `createPolyHelixCtx -q -doSubdivisionsCapsEdit $toolName`; floatSliderGrp -e -v $numCoils -cc ("createPolyHelixCtx -e -coils #1 " + $toolName) createPolyHelixNumberOfCoilsSlider; intSliderGrp -e -v $aDiv -cc ("createPolyHelixCtx -e -sa #1 " + $toolName) createPolyHelixAxisDivisionsSlider; intSliderGrp -e -v $hDiv -cc ("createPolyHelixCtx -e -sl #1 " + $toolName) createPolyHelixCoilDivisionsSlider; intSliderGrp -e -v $cDiv -cc ("createPolyHelixCtx -e -sc #1 " + $toolName) createPolyHelixCapDivisionsSlider; checkBoxGrp -e -v1 $roundCap -cc1 ( "createPolyHelixCtx -e -roundCap #1 " + $toolName + ";" + "if(#1 && `createPolyHelixCtx -query -subdivisionsCap " + $toolName + "` == 0)" + "{ createPolyHelixCtx -edit -subdivisionsCap 1 " + $toolName + ";}") createPolyHelixRoundCapCheckBox; floatSliderGrp -e -v $height -cc ("createPolyHelixCtx -e -height #1 " + $toolName) createPolyHelixHeightSlider; floatSliderGrp -e -v $width -cc ("createPolyHelixCtx -e -width #1 " + $toolName) createPolyHelixWidthSlider; floatSliderGrp -e -v $radius -cc ("createPolyHelixCtx -e -radius #1 " + $toolName) createPolyHelixRadiusSlider; radioButtonGrp -e -select ($direction + 1) -cc ("createPolyHelixCtx -e -direction (`radioButtonGrp -q -select createPolyHelixDirectionRadioButtonGrp` - 1) " + $toolName) createPolyHelixDirectionRadioButtonGrp; radioButtonGrp -e -sl ($axis + 1) -cc ("changeHelixAxisSetting(\"" + $toolName+ "\")") createPolyHelixAxisRadioButton; checkBoxGrp -e -v1 $createUV -cc1 ("changeHelixUVSettings(\"" + $toolName+ "\")") createPolyHelixCreateUVCheckBox; checkBoxGrp -e -v1 $normalize -cc1 ("changeHelixUVSettings(\"" + $toolName+ "\")") createPolyHelixNormalizeCheckBox; checkBoxGrp -e -v1 $preserveAR -cc1 ("changeHelixUVSettings(\"" + $toolName+ "\")") createPolyHelixPreserveAspectRatioCheckBox; checkBoxGrp -e -v1 $dragEdit -cc1 ("createPolyHelixCtx -e -doDragEdit " + !$dragEdit + " " + $toolName) createPolyHelixDragEditCheckBox; int $doDrag = `checkBoxGrp -q -v1 createPolyHelixDragEditCheckBox`; if ($doDrag) checkBoxGrp -edit -enable true createPolyHelixCapsDragEditCheckBox; else checkBoxGrp -edit -enable false createPolyHelixCapsDragEditCheckBox; checkBoxGrp -e -v1 $dragEditCaps -cc1 ("createPolyHelixCtx -e -doSubdivisionsCapsEdit " + !$dragEditCaps + " " + $toolName) createPolyHelixCapsDragEditCheckBox; string $icon = "polyHelix.png"; string $helpTag= "CreatePolyHelixTool"; toolPropertySetCommon $toolName $icon $helpTag; toolPropertySelect $name; changeHelixUVSettings($toolName); } global proc changeHelixAxisSetting(string $toolName){ int $axisSetting = 0; if (`radioButtonGrp -exists createPolyHelixAxisRadioButton`){ $axisSetting = (`radioButtonGrp -q -sl createPolyHelixAxisRadioButton` - 1); } if ($axisSetting < 0){ $axisSetting = 0; } string $cmd = "createPolyHelixCtx -e -axis " + $axisSetting + " " + $toolName; eval($cmd); } global proc changeHelixUVSettings(string $toolName) { int $value = 0; int $createUVVal; int $normalizeVal; int $preserveARVal; if (`checkBoxGrp -exists createPolyHelixCreateUVCheckBox`){ $createUVVal = `checkBoxGrp -q -v1 createPolyHelixCreateUVCheckBox`; } if (`checkBoxGrp -exists createPolyHelixNormalizeCheckBox`){ $normalizeVal = `checkBoxGrp -q -v1 createPolyHelixNormalizeCheckBox`; } if (`checkBoxGrp -exists createPolyHelixPreserveAspectRatioCheckBox`){ $preserveARVal = `checkBoxGrp -q -v1 createPolyHelixPreserveAspectRatioCheckBox`; } if (!$createUVVal){ checkBoxGrp -edit -enable false createPolyHelixNormalizeCheckBox; checkBoxGrp -edit -enable false createPolyHelixPreserveAspectRatioCheckBox; }else { checkBoxGrp -edit -enable true createPolyHelixNormalizeCheckBox; if (!$normalizeVal){ checkBoxGrp -edit -enable false createPolyHelixPreserveAspectRatioCheckBox; }else { checkBoxGrp -edit -enable true createPolyHelixPreserveAspectRatioCheckBox; } } if($createUVVal && $normalizeVal && $preserveARVal){ $value = 3; } else if ($createUVVal && $normalizeVal){ $value = 2; } else if ($createUVVal){ $value = 1; } string $cmd = ("createPolyHelixCtx -edit -cuv " + $value + " " + $toolName); eval($cmd); }