// =========================================================================== // 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: // AEprojectTangentTemplate // // Description Name; // Creates the attribute editor controls for the projectTangent node // // Input Value: // nodeName // // Output Value: // None // global proc checkProjectTangentCurvature ( string $nodeName ) { string $nodeAttr = $nodeName + ".curvature"; string $value = `getAttr $nodeAttr`; if ($value == 0) { editorTemplate -dimControl $nodeName "curvatureScale" true; } else { editorTemplate -dimControl $nodeName "curvatureScale" false; } } global proc checkProjectTangentTangentDirection ( string $nodeName ) { string $nodeAttr = $nodeName + ".tangentDirection"; int $value = `getAttr $nodeAttr`; if ($value == 3) { editorTemplate -dimControl $nodeName "curvature" true; editorTemplate -dimControl $nodeName "curvatureScale" true; editorTemplate -dimControl $nodeName "rotate" true; } else { editorTemplate -dimControl $nodeName "curvature" false; editorTemplate -dimControl $nodeName "rotate" false; checkProjectTangentCurvature( $nodeName ); } } global proc AEprojectTangentTemplate( string $nodeName ) { string $inputCrv = (uiRes("m_AEprojectTangentTemplate.kInputCrvToProject")); string $inputCurve1 = (uiRes("m_AEprojectTangentTemplate.kInputCurveOne")); string $inputCurve2 = (uiRes("m_AEprojectTangentTemplate.kInputCurveTwo")); string $inputSurface = (uiRes("m_AEprojectTangentTemplate.kInputSurface")); editorTemplate -beginScrollLayout; editorTemplate -beginLayout (uiRes("m_AEprojectTangentTemplate.kProjectTangentHistory")) -collapse false; editorTemplate -callCustom ("AEinputNew \""+$inputCrv+"\"") ("AEinputReplace \""+$inputCrv+"\"") "inputCurveToProject"; editorTemplate -callCustom ("AEinputNew \""+$inputCurve1+"\"") ("AEinputReplace \""+$inputCurve1+"\"") "inputCurve1ToProjectTo"; editorTemplate -callCustom ("AEinputNew \""+$inputCurve2+"\"") ("AEinputReplace \""+$inputCurve2+"\"") "inputCurve2ToProjectTo"; editorTemplate -callCustom ("AEinputNew \""+$inputSurface+"\"") ("AEinputReplace \""+$inputSurface+"\"") "inputSurfaceToProjectTo"; editorTemplate -addControl "curvature" "checkProjectTangentCurvature"; editorTemplate -addControl "curvatureScale"; editorTemplate -addSeparator; editorTemplate -addControl "tangentDirection" "checkProjectTangentTangentDirection"; editorTemplate -addControl "reverseTangent"; editorTemplate -addControl "tangentScale"; editorTemplate -addControl "rotate"; editorTemplate -addControl "ignoreEdges"; editorTemplate -endLayout; // include/call base class/node attributes AEdependNodeTemplate $nodeName; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; }