home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 January / GSSH0104TT.iso / Extras / Tron20 / tron_tools.exe / TRON_Tools / Tools / MEL / ltaImport.mel next >
Text File  |  2003-04-28  |  5KB  |  181 lines

  1. global proc ltaImport(int $whatToGet)
  2. {
  3.     string $lastLine, $prevLine, $buffer[], $filename;
  4.     string $sockets = "", $weightSets = "", $childModels = "";
  5.  
  6.     waitCursor -st on;
  7.     $selection = `ls -dag -typ joint`;
  8.     $dataNode = $selection[0];
  9.     if($dataNode == "")
  10.     {     print "Nothing in this scene is exportable\n";  waitCursor -st off; return; }
  11.  
  12.     $filename = `fileDialog -directoryMask "~/*.lta"`;
  13.     if ( $filename == "" )
  14.     {    print "No file selected\n"; waitCursor -st off; return; }
  15.  
  16.     switch($whatToGet)
  17.     {
  18.         case 1:
  19.             $buffer = `getLTAInfo "sockets" $filename`;
  20.             $sockets = $buffer[0];
  21.  
  22.             if(!`objExists ($dataNode + ".sockets")`)
  23.                 addAttr -sn "skt" -ln "sockets" -dt "string"; 
  24.             if($sockets != "")
  25.                 setAttr ($dataNode + ".sockets") -type "string" $sockets;
  26.             break;
  27.  
  28.         case 2:
  29.             $buffer = `getLTAInfo "anim-weightsets" $filename`;
  30.             $weightSets = $buffer[0];
  31.  
  32.             if(!`objExists ($dataNode + ".weightSets")`)
  33.                 addAttr -sn "wts" -ln "weightSets" -dt "string";
  34.             if($weightSets != "")
  35.                 setAttr ($dataNode + ".weightSets") -type "string" $weightSets;
  36.             break;
  37.  
  38.         case 3:
  39.             $buffer = `getLTAInfo "childmodels" $filename`;
  40.             $childModels = $buffer[0];
  41.  
  42.             if(!`objExists ($dataNode + ".childModels")`)
  43.                 addAttr -sn "chm" -ln "childModels" -dt "string";
  44.             if($childModels != "")
  45.                 setAttr ($dataNode + ".childModels") -type "string" $childModels;
  46.             break;
  47.  
  48.  
  49.         default:
  50.     }
  51.     waitCursor -st off;
  52. }
  53.  
  54. global proc showUserDims()
  55. {    
  56.     float $dimX, $dimY, $dimZ;
  57.     $selection = `ls -dag -typ joint`;
  58.     $root = $selection[0];
  59.     if($root == "")
  60.     {     print "Nothing in this scene is exportable\n";   return; }
  61.  
  62.     $rootDimX = $root + ".dimX";
  63.     $rootDimY = $root + ".dimY";
  64.     $rootDimZ = $root + ".dimZ";
  65.     
  66.     if(!`objExists $rootDimX`)
  67.     {
  68.         addAttr  -ln "dimX" -at "float" $root;    
  69.         setAttr $rootDimX ( `floatFieldGrp -q -v1 lt_userDims`);
  70.     }
  71.     else if((`getAttr -type $rootDimX`)!= "float")
  72.     {
  73.         deleteAttr $rootDimX;
  74.         addAttr  -ln "dimX" -at "float" $root;    
  75.         setAttr $rootDimX ( `floatFieldGrp -q -v1 lt_userDims`);
  76.     }
  77.     if(!`objExists $rootDimY`)
  78.     {
  79.         addAttr  -ln "dimY" -at "float" $root;    
  80.         setAttr $rootDimY (`floatFieldGrp -q -v2 lt_userDims`);
  81.     }
  82.     else if((`getAttr -type $rootDimY`)!= "float")
  83.     {
  84.         deleteAttr $rootDimY;
  85.         addAttr  -ln "dimY" -at "float" $root;    
  86.         setAttr $rootDimY ( `floatFieldGrp -q -v2 lt_userDims`);
  87.     }
  88.     if(!`objExists $rootDimZ`)
  89.     {
  90.         addAttr  -ln "dimZ" -at "float" $root;    
  91.         setAttr $rootDimZ (`floatFieldGrp -q -v3 lt_userDims`);
  92.     }
  93.     else if((`getAttr -type $rootDimZ`)!= "float")
  94.     {
  95.         deleteAttr $rootDimZ;
  96.         addAttr  -ln "dimZ" -at "float" $root;    
  97.         setAttr $rootDimZ ( `floatFieldGrp -q -v3 lt_userDims`);
  98.     }
  99.     
  100.     if(!`objExists "userDimsBox"`)
  101.     {    
  102.         polyCube -w 2 -h 2 -d 2 -n "userDimsBox";
  103.         toggle -template userDimsBox;
  104.         setAttr -lock 1 userDimsBox.translate;
  105.         setAttr -lock 1 userDimsBox.rotate;
  106.         transformLimits -sx 0.1 1 -esx 1 0 -sy 0.1 1 -esy 1 0 -sz 0.1 1 -esz 1 0 userDimsBox;
  107.  
  108.         setAttr userDimsBox.scaleX (`getAttr $rootDimX`);
  109.         setAttr userDimsBox.scaleY (`getAttr $rootDimY`);
  110.         setAttr userDimsBox.scaleZ (`getAttr $rootDimZ`);
  111.  
  112.         connectAttr userDimsBox.scaleX $rootDimX;
  113.         connectAttr userDimsBox.scaleY $rootDimY;
  114.         connectAttr userDimsBox.scaleZ $rootDimZ;
  115.         connectAttr userDimsBox.scaleX userDimsBox.scaleZ;
  116.     }
  117.     select -r userDimsBox;
  118.  
  119.     updateUserDims;
  120.     scriptJob -ac "userDimsBox.scale" "updateUserDims";
  121. }
  122.  
  123. global proc updateUserDims()
  124. {
  125.     $dims = `getAttr userDimsBox.scale`;
  126.     optionVar -fv lt_defaultUserDimX $dims[0];
  127.     optionVar -fv lt_defaultUserDimY $dims[1];
  128.     optionVar -fv lt_defaultUserDimZ $dims[2];
  129.  
  130.     if(`floatFieldGrp -ex lt_userDims`)
  131.     {    
  132.         floatFieldGrp -e -v1 $dims[0] lt_userDims;    
  133.         floatFieldGrp -e -v2 $dims[1] lt_userDims;    
  134.         floatFieldGrp -e -v3 $dims[2] lt_userDims;
  135.     }
  136. }
  137.  
  138. global proc setUserDims()
  139. {
  140.     string $root[] = `ls -dag -typ joint`;
  141.  
  142.     $newX = `floatFieldGrp -q -v1 lt_userDims`;
  143.     $newY = `floatFieldGrp -q -v2 lt_userDims`;
  144.     $newZ = `floatFieldGrp -q -v3 lt_userDims`;
  145.     $oldX = `optionVar -q lt_defaultUserDimX`;
  146.     $oldY = `optionVar -q lt_defaultUserDimY`;
  147.     $oldZ = `optionVar -q lt_defaultUserDimZ`;
  148.     
  149.     if($newX <=0) 
  150.     {    floatFieldGrp -e -v1 $oldX lt_userDims; $newX = $oldX; }
  151.     if($newY <=0) 
  152.     {    floatFieldGrp -e -v2 $oldY lt_userDims; $newY = $oldY; }
  153.     if($newZ <=0) 
  154.     {    floatFieldGrp -e -v3 $oldZ lt_userDims; $newZ = $oldZ; }
  155.  
  156.     if($newX != $oldX)
  157.     {
  158.         optionVar -fv lt_defaultUserDimX $newX;
  159.         optionVar -fv lt_defaultUserDimZ $newX;
  160.         floatFieldGrp -e -v3 $newX lt_userDims;
  161.     }
  162.     else if($newZ != $oldZ)
  163.     {
  164.         optionVar -fv lt_defaultUserDimX $newZ;
  165.         optionVar -fv lt_defaultUserDimZ $newZ;        
  166.         floatFieldGrp -e -v1 $newZ lt_userDims;
  167.     }
  168.     optionVar -fv lt_defaultUserDimY     (`floatFieldGrp -q -v2 lt_userDims`);
  169.  
  170.     if(`objExists userDimsBox`)
  171.     {
  172.         setAttr userDimsBox.scaleX (`floatFieldGrp -q -v1 lt_userDims`);
  173.         setAttr userDimsBox.scaleY (`floatFieldGrp -q -v2 lt_userDims`);
  174.     }
  175.     else if(`objExists ($root[0] + ".dimX")`)
  176.     {
  177.         setAttr ($root[0] + ".dimX") (`floatFieldGrp -q -v1 lt_userDims`);
  178.         setAttr ($root[0] + ".dimY") (`floatFieldGrp -q -v2 lt_userDims`);
  179.         setAttr ($root[0] + ".dimZ") (`floatFieldGrp -q -v3 lt_userDims`);
  180.     }
  181. }