// =========================================================================== // 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 createPolySoccerBallValues(string $toolName) { string $name = "createPolySoccerBall"; string $parent = (`toolPropertyWindow -q -location` + "|" + $name); setParent $parent; float $rad = `createPolySoccerBallCtx -q -radius $toolName`; float $slen = `createPolySoccerBallCtx -q -sideLength $toolName`; int $uvSetting = `createPolySoccerBallCtx -q -createUVs $toolName`; int $createUV = 0; int $normalize = 0; int $preserveAR = 0; int $collective = 0; int $seperate = 0; int $select = 1; if ($uvSetting == 4){ $createUV = 1; $normalize = 1; $collective = 1; $preserveAR = 1; $select = 1; } else if ($uvSetting == 3){ $createUV = 1; $normalize = 1; $collective = 1; $select = 1; } else if ($uvSetting == 2){ $createUV = 1; $normalize = 1; $seperate = 1; $select = 2; } else if ($uvSetting == 1){ $createUV = 1; } int $axis = `createPolySoccerBallCtx -q -axis $toolName`; string $radiusChangeString = "createPolySoccerBallCtx -e -radius #1 " + $toolName + "; " + "changeSoccerBallRadiusCallBack(\"" + $toolName+ "\", #1 )"; string $sideLengthChangeString = "createPolySoccerBallCtx -e -sideLength #1 " + $toolName + "; " + "changeSoccerBallEdgeLengthCallBack(\"" + $toolName+ "\", #1 )"; floatSliderGrp -e -v $rad -cc ($radiusChangeString) -dc ($radiusChangeString) createPolySoccerBallRadiusSlider; floatSliderGrp -e -v $slen -cc ($sideLengthChangeString) -dc ($sideLengthChangeString) createPolySoccerBallSideLengthSlider; radioButtonGrp -e -sl ($axis + 1) -cc ("changeSoccerBallAxisSetting(\"" + $toolName+ "\")") createPolySoccerBallAxisRadioButton; checkBoxGrp -e -v1 $createUV -cc1 ("changeSoccerBallUVSettings(\"" + $toolName+ "\")") createPolySoccerBallCreateUVCheckBox; checkBoxGrp -e -v1 $normalize -cc1 ("changeSoccerBallUVSettings(\"" + $toolName+ "\")") createPolySoccerBallNormalizeCheckBox; radioButtonGrp -e -sl $select -cc ("changeSoccerBallUVSettings(\"" + $toolName+ "\")") createPolySoccerBallNormalizeTypeRadioButton; checkBoxGrp -e -v1 $preserveAR -cc1 ("changeSoccerBallUVSettings(\"" + $toolName+ "\")") createPolySoccerBallPreserveAspectRatioCheckBox; string $icon = "polySoccerBall.png"; string $helpTag= "CreatePolySoccerBallTool"; toolPropertySetCommon $toolName $icon $helpTag; toolPropertySelect $name; changeSoccerBallUVSettings($toolName); } global proc changeSoccerBallRadiusCallBack(string $toolName, float $val){ global float $gSoccerBallRatio; float $length; $length = $val*$gSoccerBallRatio; floatSliderGrp -edit -value $length createPolySoccerBallSideLengthSlider; string $cmd = "createPolySoccerBallCtx -e -sideLength " + $length + " " + $toolName; eval($cmd); } global proc changeSoccerBallEdgeLengthCallBack(string $toolName, float $val){ global float $gSoccerBallRatio; float $radius; $radius = $val/$gSoccerBallRatio; floatSliderGrp -edit -value $radius createPolySoccerBallRadiusSlider; string $cmd = "createPolySoccerBallCtx -e -radius " + $radius + " " + $toolName; eval($cmd); } global proc changeSoccerBallAxisSetting(string $toolName){ int $axisSetting = 0; if (`radioButtonGrp -exists createPolySoccerBallAxisRadioButton`){ $axisSetting = (`radioButtonGrp -q -sl createPolySoccerBallAxisRadioButton` - 1); } if ($axisSetting < 0){ $axisSetting = 0; } string $cmd = "createPolySoccerBallCtx -e -axis " + $axisSetting + " " + $toolName; eval($cmd); } global proc changeSoccerBallUVSettings(string $toolName) { int $value = 0; int $createUVVal; int $normalizeVal; int $preserveARVal; int $collectiveVal; int $seperateVal; if (`checkBoxGrp -exists createPolySoccerBallCreateUVCheckBox`){ $createUVVal = `checkBoxGrp -q -v1 createPolySoccerBallCreateUVCheckBox`; } if (`checkBoxGrp -exists createPolySoccerBallNormalizeCheckBox`){ $normalizeVal = `checkBoxGrp -q -v1 createPolySoccerBallNormalizeCheckBox`; } if (`checkBoxGrp -exists createPolySoccerBallPreserveAspectRatioCheckBox`){ $preserveARVal = `checkBoxGrp -q -v1 createPolySoccerBallPreserveAspectRatioCheckBox`; } if (`radioButtonGrp -exists createPolySoccerBallNormalizeTypeRadioButton`){ $collectiveVal = `radioButtonGrp -q -sl createPolySoccerBallNormalizeTypeRadioButton`; $seperateVal = `radioButtonGrp -q -sl createPolySoccerBallNormalizeTypeRadioButton`; } if ($collectiveVal == 1){ $collectiveVal = 1; } else { $collectiveVal = 0; } if ($seperateVal == 2){ $seperateVal = 1; } else { $seperateVal = 0; } if ($createUVVal){ checkBoxGrp -edit -enable true createPolySoccerBallNormalizeCheckBox; if ($normalizeVal){ radioButtonGrp -edit -enable true createPolySoccerBallNormalizeTypeRadioButton; if($collectiveVal){ checkBoxGrp -edit -enable true createPolySoccerBallPreserveAspectRatioCheckBox; } else { checkBoxGrp -edit -enable false createPolySoccerBallPreserveAspectRatioCheckBox; } }else { checkBoxGrp -edit -enable false createPolySoccerBallPreserveAspectRatioCheckBox; radioButtonGrp -edit -enable false createPolySoccerBallNormalizeTypeRadioButton; } }else { checkBoxGrp -edit -enable false createPolySoccerBallNormalizeCheckBox; checkBoxGrp -edit -enable false createPolySoccerBallPreserveAspectRatioCheckBox; radioButtonGrp -edit -enable false createPolySoccerBallNormalizeTypeRadioButton; } if($createUVVal && $normalizeVal && $collectiveVal && $preserveARVal){ $value = 4; } else if($createUVVal && $normalizeVal && $collectiveVal){ $value = 3; } else if ($createUVVal && $normalizeVal){ $value = 2; } else if ($createUVVal){ $value = 1; } string $cmd = ("createPolySoccerBallCtx -edit -cuv " + $value + " " + $toolName); eval($cmd); }