// =========================================================================== // 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. // =========================================================================== // // Procedure Name: // AEsquareSrfTemplate // // Description Name; // Creates the attribute editor controls for the square surface node // // Input Value: // nodeName // // Output Value: // None // global proc AEcontinuityPassedNew( string $plug ) { setUITemplate -pst attributeEditorTemplate; checkBoxGrp -editable false -ncb 1 -label "" -label1 (uiRes("m_AEsquareSrfTemplate.kContinuityPassedOne")) contPassedChecks1; checkBoxGrp -editable false -ncb 1 -label "" -label1 (uiRes("m_AEsquareSrfTemplate.kContinuityPassedTwo")) contPassedChecks2; checkBoxGrp -editable false -ncb 1 -label "" -label1 (uiRes("m_AEsquareSrfTemplate.kContinuityPassedThree")) contPassedChecks3; checkBoxGrp -editable false -ncb 1 -label "" -label1 (uiRes("m_AEsquareSrfTemplate.kContinuityPassedFour")) contPassedChecks4; setUITemplate -ppt; AEcontinuityPassedReplace $plug; } global proc AEcontinuityPassedReplace( string $plug ) { string $multiPlugName = $plug + "1"; connectControl -in 2 contPassedChecks1 $multiPlugName; $multiPlugName = $plug + "2"; connectControl -in 2 contPassedChecks2 $multiPlugName; $multiPlugName = $plug + "3"; connectControl -in 2 contPassedChecks3 $multiPlugName; $multiPlugName = $plug + "4"; connectControl -in 2 contPassedChecks4 $multiPlugName; int $passed; $passed = `getAttr ($plug + "1")`; checkBoxGrp -e -v1 $passed contPassedChecks1; $passed = `getAttr ($plug + "2")`; checkBoxGrp -e -v1 $passed contPassedChecks2; $passed = `getAttr ($plug + "3")`; checkBoxGrp -e -v1 $passed contPassedChecks3; $passed = `getAttr ($plug + "4")`; checkBoxGrp -e -v1 $passed contPassedChecks4; } global proc AEsquareSrfTemplate( string $nodeName ) { string $inputCurve1 = (uiRes("m_AEsquareSrfTemplate.kInputCurveOne")); string $inputCurve2 = (uiRes("m_AEsquareSrfTemplate.kInputCurveTwo")); string $inputCurve3 = (uiRes("m_AEsquareSrfTemplate.kInputCurveThree")); string $inputCurve4 = (uiRes("m_AEsquareSrfTemplate.kInputCurveFour")); editorTemplate -beginScrollLayout; editorTemplate -beginLayout (uiRes("m_AEsquareSrfTemplate.kSquareSurfaceHistory")) -collapse false; editorTemplate -callCustom ("AEinputNew \""+$inputCurve1+"\"") ("AEinputReplace \""+$inputCurve1+"\"") "inputCurve1"; editorTemplate -callCustom ("AEinputNew \""+$inputCurve2+"\"") ("AEinputReplace \""+$inputCurve2+"\"") "inputCurve2"; editorTemplate -callCustom ("AEinputNew \""+$inputCurve3+"\"") ("AEinputReplace \""+$inputCurve3+"\"") "inputCurve3"; editorTemplate -callCustom ("AEinputNew \""+$inputCurve4+"\"") ("AEinputReplace \""+$inputCurve4+"\"") "inputCurve4"; editorTemplate -addControl "endPointTolerance"; editorTemplate -beginLayout (uiRes("m_AEsquareSrfTemplate.kRebuildCurve")); editorTemplate -addControl "rebuildCurve1"; editorTemplate -addControl "rebuildCurve2"; editorTemplate -addControl "rebuildCurve3"; editorTemplate -addControl "rebuildCurve4"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEsquareSrfTemplate.kContinuityLayout")); editorTemplate -beginLayout (uiRes("m_AEsquareSrfTemplate.kContinuityType")); editorTemplate -label (uiRes("m_AEsquareSrfTemplate.kContinuityTypeOne")) -addControl "continuityType1"; editorTemplate -label (uiRes("m_AEsquareSrfTemplate.kContinuityTypeTwo")) -addControl "continuityType2"; editorTemplate -label (uiRes("m_AEsquareSrfTemplate.kContinuityTypeThree")) -addControl "continuityType3"; editorTemplate -label (uiRes("m_AEsquareSrfTemplate.kContinuityTypeFour")) -addControl "continuityType4"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEsquareSrfTemplate.kContinuityPassed")); editorTemplate -callCustom "AEcontinuityPassedNew" "AEcontinuityPassedReplace" "continuityPassed"; editorTemplate -endLayout; editorTemplate -addControl "curveFitCheckpoints" "curveFitCheckpointsControls"; editorTemplate -endLayout; editorTemplate -endLayout; // include/call base class/node attributes AEabstractBaseCreateTemplate $nodeName; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; } global proc curveFitCheckpointsControls( string $nodeName ) { // dim the curve fit checkpoints control if none of the input // curves have tangent continuity type // string $contTypeAtt = $nodeName + ".continuityType1"; string $contTypes[4]; $contTypes[0] = "continuityType1"; $contTypes[1] = "continuityType2"; $contTypes[2] = "continuityType3"; $contTypes[3] = "continuityType4"; int $numTypes = size($contTypes); int $haveContinuity = 0; int $i; string $nodeTypeName; int $type; for ( $i = 0; $i < $numTypes; $i++ ) { $nodeTypeName = $nodeName + "." + $contTypes[$i]; $type = `getAttr $nodeTypeName`; if ( $type == 2 ) { $haveContinuity = 1; break; } } if ( $haveContinuity ) { editorTemplate -dimControl $nodeName "curveFitCheckpoints" false; } else { editorTemplate -dimControl $nodeName "curveFitCheckpoints" true; } }