// =========================================================================== // 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. // =========================================================================== // // // Creation Date: June 5, 1997 // // // Procedure Name: // AEpolySmoothFaceTemplate // // Description Name; // Creates the attribute editor controls for the polySmooth Node // // Input Value: // nodeName // // Output Value: // None // global proc polySmoothFaceControls( string $nodeName ) { string $attr = $nodeName + ".method"; int $rebuildTypeValue = `getAttr $attr`; if($rebuildTypeValue == 0) { // exponential editorTemplate -dimControl $nodeName "subdivisionType" false; //editorTemplate -dimControl $nodeName "useOsdBoundaryMethods" false; // Hidden editorTemplate -dimControl $nodeName "osdVertBoundary" false; editorTemplate -dimControl $nodeName "osdFvarBoundary" false; editorTemplate -dimControl $nodeName "osdFvarPropagateCorners" false; editorTemplate -dimControl $nodeName "osdSmoothTriangles" false; editorTemplate -dimControl $nodeName "osdCreaseMethod" false; editorTemplate -dimControl $nodeName "smoothUVs" false; editorTemplate -dimControl $nodeName "keepMapBorders" false; editorTemplate -dimControl $nodeName "keepBorder" false; editorTemplate -dimControl $nodeName "keepSelectionBorder" false; editorTemplate -dimControl $nodeName "keepHardEdge" false; editorTemplate -dimControl $nodeName "propagateEdgeHardness" false; editorTemplate -dimControl $nodeName "keepTessellation" false; editorTemplate -dimControl $nodeName "divisions" false; editorTemplate -dimControl $nodeName "continuity" false; editorTemplate -dimControl $nodeName "subdivisionLevels" true; editorTemplate -dimControl $nodeName "divisionsPerEdge" true; editorTemplate -dimControl $nodeName "pushStrength" true; editorTemplate -dimControl $nodeName "roundness" true; } else if($rebuildTypeValue == 1) { // linear editorTemplate -dimControl $nodeName "subdivisionType" true; //editorTemplate -dimControl $nodeName "useOsdBoundaryMethods" true; // Hidden editorTemplate -dimControl $nodeName "osdVertBoundary" true; editorTemplate -dimControl $nodeName "osdFvarBoundary" true; editorTemplate -dimControl $nodeName "osdFvarPropagateCorners" true; editorTemplate -dimControl $nodeName "osdSmoothTriangles" true; editorTemplate -dimControl $nodeName "osdCreaseMethod" true; editorTemplate -dimControl $nodeName "smoothUVs" true; editorTemplate -dimControl $nodeName "keepMapBorders" true; editorTemplate -dimControl $nodeName "keepBorder" true; editorTemplate -dimControl $nodeName "keepSelectionBorder" true; editorTemplate -dimControl $nodeName "keepHardEdge" true; editorTemplate -dimControl $nodeName "propagateEdgeHardness" true; editorTemplate -dimControl $nodeName "keepTessellation" true; editorTemplate -dimControl $nodeName "divisions" true; editorTemplate -dimControl $nodeName "continuity" true; editorTemplate -dimControl $nodeName "subdivisionLevels" false; editorTemplate -dimControl $nodeName "divisionsPerEdge" false; editorTemplate -dimControl $nodeName "pushStrength" false; editorTemplate -dimControl $nodeName "roundness" false; } $attr = $nodeName + ".smoothUVs"; int $smoothUVsValue = `getAttr $attr`; if($smoothUVsValue == 0) { editorTemplate -dimControl $nodeName "keepMapBorders" true; } else { editorTemplate -dimControl $nodeName "keepMapBorders" false; } } global proc AEpolySmoothFaceTemplate ( string $nodeName ) { editorTemplate -beginScrollLayout; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kMethod")) -addControl "method" "polySmoothFaceControls"; editorTemplate -beginLayout (uiRes("m_AEpolySmoothFaceTemplate.kExponentialPoly")) -collapse 0; editorTemplate -addControl "subdivisionType"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothFaceSubdivisionLevels")) -addControl "divisions" ; editorTemplate -beginLayout (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMeshOpenSubdivControls")) -collapse true; editorTemplate -beginNoOptimize; // For OSD Boundary Conditions //editorTemplate -addControl "useOsdBoundaryMethods"; // Hidden editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMesh_osdVertBoundary_label")) -addControl "osdVertBoundary" ; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMesh_osdFvarBoundary_label")) -addControl "osdFvarBoundary" ; // Additional OSD Parameters editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMesh_osdFvarPropagateCorners_label")) -addControl "osdFvarPropagateCorners"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMesh_osdSmoothTriangles_label")) -addControl "osdSmoothTriangles"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMesh_osdCreaseMethod_label")) -addControl "osdCreaseMethod"; editorTemplate -endNoOptimize; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEpolySmoothFaceTemplate.kSmoothMeshMayaControls")) -collapse true; editorTemplate -beginNoOptimize; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kContinuity")) -addControl "continuity"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kSmoothUVs")) -addControl "smoothUVs" "polySmoothFaceControls"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kKeepGeometryBorders")) -addControl "keepBorder"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kKeepSelectionBorders")) -addControl "keepSelectionBorder"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kKeepHardEdges")) -addControl "keepHardEdge"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kPropagateEdgeHardness")) -addControl "propagateEdgeHardness"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kKeepTessellation")) -addControl "keepTessellation"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kKeepMapBorders")) -addControl "keepMapBorders"; editorTemplate -label (uiRes("m_AEpolySmoothFaceTemplate.kBoundaryRule")) -addControl "boundaryRule"; editorTemplate -endNoOptimize; editorTemplate -endLayout; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEpolySmoothFaceTemplate.kLinearPolySmoothHistory")) -collapse 0; editorTemplate -beginNoOptimize; editorTemplate -addControl -label (uiRes("m_AEpolySmoothFaceTemplate.kFaceSubdivisionLevels")) "subdivisionLevels" ; editorTemplate -addControl -label (uiRes("m_AEpolySmoothFaceTemplate.kDivisionsPerFace")) "divisionsPerEdge" ; editorTemplate -addControl "pushStrength"; editorTemplate -addControl "roundness"; editorTemplate -endNoOptimize; editorTemplate -endLayout; editorTemplate -suppress "degree"; // include/call base class/node attributes AEpolyModifierInclude $nodeName; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; }