// =========================================================================== // 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 AEMASH_TransformTemplate( string $nodeName ) { editorTemplate -beginScrollLayout; python("import MASH.nodeHeaders; MASH.nodeHeaders.addHeader('" + $nodeName + "', 'Transform')") editorTemplate -endLayout; editorTemplate -label (getPluginResource("MASH", "kPos")) -addControl "positionAmount"; editorTemplate -label (getPluginResource("MASH", "kRot")) -addControl "rotationAmount"; editorTemplate -label (getPluginResource("MASH", "kScale")) -addControl "scaleAmount"; editorTemplate -label (getPluginResource("MASH", "kScalePoints")) -addControl "enablePointScale"; editorTemplate -addSeparator; editorTemplate -callCustom "MASHtransformSingleInputBuildQt" "MASHtransformSingleInputUpdateQt" ""; editorTemplate -beginLayout (getPluginResource("MASH", "kStrength")) -collapse 0; editorTemplate -label (getPluginResource("MASH", "kPos")) -addControl "strengthPosition"; editorTemplate -label (getPluginResource("MASH", "kRot")) -addControl "strengthRotation"; editorTemplate -label (getPluginResource("MASH", "kScale")) -addControl "strengthScale"; editorTemplate -label (getPluginResource("MASH", "kStrength")) -addControl "Envelope"; editorTemplate -label (getPluginResource("MASH", "kRandStrength")) -addControl "randEnvelope"; editorTemplate -label (getPluginResource("MASH", "kStepStrength")) -addControl "StepEnvelope"; editorTemplate -addSeparator; editorTemplate -label (getPluginResource("MASH", "kStrengthMap")) -addControl "mColour"; editorTemplate -label (getPluginResource("MASH", "kMapProjAxis")) -addControl "mapDirection"; editorTemplate -callCustom "MASHmapHelperButton" "MASHmapHelperButtonEdit" ""; editorTemplate -endLayout; editorTemplate -beginLayout (getPluginResource("MASH", "kFalloffObject")) -collapse 1; editorTemplate -callCustom "MASHfalloffButtons" "MASHfalloffButtonsEdit" ""; editorTemplate -endLayout; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; } global proc MASHtransformSingleInputBuildQt(string $nodeName) { string $buffer[]; tokenize($nodeName, ".", $buffer); $nodeName = $buffer[0]; python("import MASHsingleInputQtWidget"); rowLayout -numberOfColumns 2 -columnWidth2 139 250 addTransformLayout; text -w 105 -h 20 -vis 1 -label (getPluginResource("MASH", "kCreateContNull")) -align "right" -font "plainLabelFont" ; //get python to create the widget, include the desired nodeType as an arguement python("MASHsingleInputQtWidget.build_qt_widget('addTransformLayout', '" + $nodeName + "', 'transform', 'positionAmount', 'translate', 'TransformNodeConnect')"); setParent..; } global proc MASHtransformSingleInputUpdateQt(string $nodeName ) { string $buffer[]; tokenize($nodeName, ".", $buffer); $nodeName = $buffer[0]; python("import MASHsingleInputQtWidget"); python("MASHsingleInputQtWidget.update_qt_widget('addTransformLayout', '" + $nodeName + "', 'transform', 'positionAmount', 'translate', 'TransformNodeConnect')"); } global proc AEaddTransformButtons ( string $attr ) { string $nodeName[]; tokenize($attr, ".", $nodeName); button -bgc (181.0/255.0) (157.0/255.0) (136.0/255.0) -label (getPluginResource("MASH", "kCreateContNull")) -c ("mTransformButtonCMDS " + $nodeName[0] + " 1") transformNullMASHButton; button -bgc (140.0/255.0) (167.0/255.0) (173.0/255.0) -label (getPluginResource("MASH", "kConnectContNull")) -c ("mTransformButtonCMDS " + $nodeName[0] + " 2") transformConnectMASHButton; separator -w 100 -h 5 -hr 1 -st "none"; } global proc AEaddTransformButtonsEdit ( string $attr ) { string $nodeName[]; tokenize($attr, ".", $nodeName); button -e -c ("mTransformButtonCMDS " + $nodeName[0] + " 1") transformNullMASHButton; button -e -c ("mTransformButtonCMDS " + $nodeName[0] + " 2") transformConnectMASHButton; } global proc mTransformButtonCMDS (string $nodeName, int $whichCMD) { if ($whichCMD == 1) { string $toTrans = ($nodeName + ".positionAmount"); string $toRot = ($nodeName + ".rotationAmount"); string $toScale = ($nodeName + ".scaleAmount"); vector $currentPos = `getAttr ($nodeName+".positionAmount")`; vector $currentRot = `getAttr ($nodeName+".rotationAmount")`; vector $currentScale = `getAttr ($nodeName+".scaleAmount")`; string $obj[] = `spaceLocator -n "Transform Locator"`; setAttr ($obj[0]+".overrideColor") 9; setAttr ($obj[0]+".overrideEnabled") 1; setAttr ($obj[0]+".translate") ($currentPos.x) ($currentPos.y) ($currentPos.z); setAttr ($obj[0]+".rotate") ($currentRot.x) ($currentRot.y) ($currentRot.z); setAttr ($obj[0]+".scale") ($currentScale.x) ($currentScale.y) ($currentScale.z); connectAttr ($obj[0]+".translate") $toTrans; connectAttr -f ($obj[0]+".rotate") $toRot; connectAttr ($obj[0]+".scale") $toScale; MASHinViewMessage("Null created.", "Info"); } if ($whichCMD == 2) { string $filter[] = `ls -sl -tr`; if (size($filter) > 0) { for ( $i = 0; $i < size($filter); $i++) { string $toTrans = ($nodeName + ".positionAmount"); string $toRot = ($nodeName + ".rotationAmount"); string $toScale = ($nodeName + ".scaleAmount"); connectAttr ($filter[0]+".translate") $toTrans; connectAttr -f ($filter[0]+".rotate") $toRot; connectAttr ($filter[0]+".scale") $toScale; MASHinViewMessage("Translate connected.", "Info"); } } else { MASHinViewMessage("Please select a translate node.", "Error"); } } }