// =========================================================================== // 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: // AEsubdivToPolyTemplate // // Description: // Creates the attribute editor controls for the subdivToPoly node // // Input Value: // nodeName // // Output Value: // None // // global proc subdivFormatControls( string $nodeName ) { string $formatAttrName = $nodeName + ".format"; int $value = `getAttr $formatAttrName`; switch ($value) { case 0: // Uniform or constant depth editorTemplate -dimControl $nodeName "depth" false; editorTemplate -dimControl $nodeName "sampleCount" false; editorTemplate -dimControl $nodeName "maxPolys" true; editorTemplate -dimControl $nodeName "extractPointPosition" false; break; case 1: // Adaptive or leaf editorTemplate -dimControl $nodeName "depth" true; editorTemplate -dimControl $nodeName "sampleCount" false; editorTemplate -dimControl $nodeName "maxPolys" true; editorTemplate -dimControl $nodeName "extractPointPosition" true; break; case 2: // Max Number of Polygons editorTemplate -dimControl $nodeName "depth" true; editorTemplate -dimControl $nodeName "sampleCount" true; editorTemplate -dimControl $nodeName "maxPolys" false; editorTemplate -dimControl $nodeName "extractPointPosition" true; break; case 3: // Vertices editorTemplate -dimControl $nodeName "depth" false; editorTemplate -dimControl $nodeName "sampleCount" true; editorTemplate -dimControl $nodeName "maxPolys" true; editorTemplate -dimControl $nodeName "extractPointPosition" true; break; } } global proc AEsubdivToPolyTemplate( string $nodeName ) { editorTemplate -beginScrollLayout; string $inputSubdivSurface = (uiRes("m_AEsubdivToPolyTemplate.kInputSubdivSurface")); editorTemplate -beginLayout (uiRes("m_AEsubdivToPolyTemplate.kSubdivTessellateHistory")) -collapse false; editorTemplate -callCustom ("AEinputNew \""+$inputSubdivSurface+"\"") ("AEinputReplace \""+$inputSubdivSurface+"\"") "inSubdiv"; editorTemplate -beginLayout (uiRes("m_AEsubdivToPolyTemplate.kOptions")); editorTemplate -addControl "format" "subdivFormatControls"; editorTemplate -addControl "depth"; editorTemplate -addControl "sampleCount"; editorTemplate -addControl "maxPolys"; editorTemplate -addControl "extractPointPosition"; editorTemplate -addControl "shareUVs"; editorTemplate -endLayout; editorTemplate -endLayout; // include/call base class/node attributes AEabstractBaseCreateTemplate $nodeName; //suppressed attributes editorTemplate -suppress "outMesh"; editorTemplate -suppress "inSubdCVId"; editorTemplate -suppress "outv"; editorTemplate -suppress "outSubdCVId"; editorTemplate -suppress "applyMatrixToResult"; editorTemplate -suppress "subdNormals"; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; }