// project Mayonnaize Inc. // $Id$ // Project started 2001 01/16 global proc procReg() { global string $keyableTranslate[]; global string $keyableRotate[]; global string $keyableScale[]; global string $regTranslate[]; global string $regRotate[]; global string $regScale[]; int $isRegTranslate = 0; int $isRegRotate = 0; int $isRegScale = 0; string $attr; string $at; $selected = `ls -sl`; for ($i in $selected) { // get attribute flag $attrList = `listAttr -ud $i`; for ($at in $attrList) { switch ($at) { case "regtx": $isRegTranslate = 1; break; case "regrx": $isRegRotate = 1; break; case "regsx": $isRegScale = 1; break; } } // get attribute flag // translate for ( $j = 0; $j < 3; $j++) { $attr = $i+$keyableTranslate[$j]; if ( $isRegTranslate == 0 ) { addAttr -ln $regTranslate[$j] -at "double" -defaultValue `getAttr $attr` $i; } else { setAttr ($i+"."+$regTranslate[$j]) `getAttr $attr` ; } } // rotate for ( $j = 0; $j < 3; $j++) { $attr = $i+$keyableRotate[$j]; if ( $isRegRotate == 0 ) { addAttr -ln $regRotate[$j] -at "double" -defaultValue `getAttr $attr` $i; } else { setAttr ($i+"."+$regRotate[$j]) `getAttr $attr` ; } } // scale for ( $j = 0; $j < 3; $j++) { $attr = $i+$keyableScale[$j]; if ( $isRegScale == 0 ) { addAttr -ln $regScale[$j] -at "double" -defaultValue `getAttr $attr` $i; } else { setAttr ($i+"."+$regScale[$j]) `getAttr $attr` ; } } int $isRegTranslate = 0; int $isRegRotate = 0; int $isRegScale = 0; } } global proc procDel() { global string $regTranslate[]; global string $regRotate[]; global string $regScale[]; string $attrList[]; int $isRegTranslate = 0; int $isRegRotate = 0; int $isRegScale = 0; $selected = `ls -sl`; for ($i in $selected) { // get attribute flag $attrList = `listAttr -ud $i`; for ($at in $attrList) { switch ($at) { case "regtx": $isRegTranslate = 1; break; case "regrx": $isRegRotate = 1; break; case "regsx": $isRegScale = 1; break; } } // get attribute flag // Translate if ( $isRegTranslate == 1 ) { for ( $j in $regTranslate) { deleteAttr -attribute $j $i; } } // Rotate if ( $isRegRotate == 1 ) { for ( $j in $regRotate) { deleteAttr -attribute $j $i; } } // Scale if ( $isRegScale == 1 ) { for ( $j in $regScale) { deleteAttr -attribute $j $i; } } $isRegTranslate = 0; $isRegRotate = 0; $isRegScale = 0; } // $i } global proc procLoad() { global string $keyableTranslate[]; global string $keyableRotate[]; global string $keyableScale[]; global string $regTranslate[]; global string $regRotate[]; global string $regScale[]; int $isRegTranslate = 0; int $isRegRotate = 0; int $isRegScale = 0; string $at; $selected = `ls -sl`; for ($i in $selected) { // get attribute flag $attrList = `listAttr -ud $i`; for ($at in $attrList) { switch ($at) { case "regtx": $isRegTranslate = 1; break; case "regrx": $isRegRotate = 1; break; case "regsx": $isRegScale = 1; break; } } // get attribute flag // translate if ( $isRegTranslate == 1 ) { for ($j = 0; $j < 3; $j++) { // x, y, z is 3 times setAttr ($i+$keyableTranslate[$j]) `getAttr ($i+"."+$regTranslate[$j])` ; } } // rotate if ( $isRegRotate == 1 ) { for ($j = 0; $j < 3; $j++) { // x, y, z is 3 times setAttr ($i+$keyableRotate[$j]) `getAttr ($i+"."+$regRotate[$j])` ; } } // translate if ( $isRegScale == 1 ) { for ($j = 0; $j < 3; $j++) { // x, y, z is 3 times setAttr ($i+$keyableScale[$j]) `getAttr ($i+"."+$regScale[$j])` ; } } $isRegTranslate = 0; $isRegRotate = 0; $isRegScale = 0; } } global proc regTRSGui () { global string $keyableTranslate[]; global string $keyableRotate[]; global string $keyableScale[]; global string $regTranslate[]; global string $regRotate[]; global string $regScale[]; $keyableTranslate = {".tx", ".ty", ".tz"}; $keyableRotate = {".rx", ".ry", ".rz"}; $keyableScale = {".sx", ".sy", ".sz"}; $regTranslate = {"regtx", "regty", "regtz" }; $regRotate = {"regrx", "regry", "regrz" }; $regScale = {"regsx", "regsy", "regsz" }; global string $copyAttrWin = "regTRS1"; string $selected[]; $selected = `ls -sl`; if (`window -ex $copyAttrWin`) { deleteUI $copyAttrWin; } window -title "reg trs" -w 100 $copyAttrWin ; columnLayout -adjustableColumn true ; checkBox -label "tralslate"; checkBox -label "rotate"; checkBox -label "scale"; setParent ..; columnLayout -adjustableColumn true; rowLayout -nc 3; //-columnAlign 1 "center" //-columnAlign 2 "center"; button -label "reg" -c "procReg()" bt1; button -label "delete" -c "procDel()" bt2; button -label "load" -c "procLoad()" bt3; setParent ..; showWindow; } global proc regTRS() { print "jagajin\n"; regTRSGui(); } //// regTRS();