ó
ÿ=™Xc           @   ss   d  d l  j Z d  d l j Z d  d l Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d „  Z	 e
 d k ro e	 ƒ  n  d S(   iÿÿÿÿNt   tryToDeleteModulec           B   s   e  Z d  „  Z RS(   c         C   sJ   y2 t  j d |  _ |  j r1 d |  j GH|  ` n  Wn t k
 rE n Xd  S(   Nt   RiggingWindows   Deleted Module: %s.(   t   syst   modulest   modt   KeyError(   t   self(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   RW   s    	(   t   __name__t
   __module__R   (    (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyR       s   t   riggingWindowc           B   sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c         C   s   d |  _  d  S(   Ns¼   
This tool was made by Jeff Miller 2016
If there are any issues, please contact
Jeff Miller ASAP to resolve the issue

Contact:

Jeff3DAnimation.com
Jeff3DAnimation@yahoo.com
248-705-5198
(   t   about(   R   (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   __init__   s    c         C   sÈ  y t  j d ƒ t  j d ƒ Wn n Xt  j d d d d d d d€ d
 d d d ƒt  j d d d d ƒ t  j d d d d d d ƒ t  j d d d d d d ƒ t  j d d ƒ t  j d d d d d d ƒ t  j d d d d d d ƒ t  j d d d d  d d! ƒ t  j d d" d d# d d! ƒ t  j d d ƒ t  j d d$ d d% d d& ƒ t  j d d' d d( d d) ƒ t  j d d* d d+ d d, ƒ t  j d d ƒ t  j d d- d d. d d/ ƒ t  j d d0 d d1 d d2 ƒ t  j d d ƒ t  j d d3 d d4 d d5 ƒ t  j d d6 d d ƒ t  j d d7 d d8 d d9 ƒ t  j d d: d d; d d< ƒ t  j d d= d d> d d? ƒ t  j d d@ d dA d dB ƒ t  j d d ƒ t  j d dC d dD d dE ƒ t  j d dF d d ƒ t  j d dG d dH d dI ƒ t  j d dJ d dK d dL ƒ t  j d dM d d ƒ t  j d dN d dO ƒ t  j dP d ƒ } t  j dQ dR dS dR ƒ } t  j dT dU dV dW dX dY ƒ } t  j | ƒ t  j	 dZ d ƒ } t  j | ƒ t  j | ƒ t  j
 d d[ ƒ t  j d\ d] ƒ t  j d d d^ d d d g dT d_ d d  d d! ƒ t  j d d" d^ d d d g dT d_ d d# d d! ƒ t  j | ƒ t  j dV dR d` da db | ƒ t  j d\ dc ƒ t  j d d$ d^ dd d d g d d% d d& ƒ t  j d d' d^ d d dd g d d( d d) ƒ t  j d d* d^ dd dd d g d d+ d d, ƒ t  j | ƒ t  j dV dR d` da db | ƒ t  j d\ d] ƒ t  j d de d^ df df df g d dg dT d_ d dh ƒ t  j d di d^ dj dj d g d d dT d_ d d ƒ t  j | ƒ t  j dV dR d` da db | ƒ t  j d\ d] ƒ t  j d dk d^ dd dl dl g d dm dT d_ d dn ƒ t  j d do d^ d df df g d dp dT d_ d dq ƒ t  j | ƒ t  j dV dr ƒ t  j d ds d dt ƒ t  j ƒ  t  j | ƒ t  j | du t dv | dw f | dx f f ƒdy dz g } t  j d d d{ d| dy d} d d~ | d d ƒd  S(‚   Nt   rigWndt   dockControllert   ts   Rigging Window and Color Setupt   mbi   t   whi,  i¼  t   tlci    t   st   ls   Extra Toolst   tos   Enter Joint Toolt   cs   riggingWindow().startBone(0)t   anns   Joint Tool.s   Place Single Joints   riggingWindow().startBone(1)s#   Places a single joint in the Scene.t   ds   FK Control setups%   riggingWindow().orientControlToBone()s*   FK setup: Select joint, group and control.s   Enter IKHandle Tools   mm.eval("IKHandleTool;")s   IK handle setup.s   Enter Nurb Circle Tools   mm.eval("CreateNURBSCircle;")s   Control setup.s   Enter Nurb Line Tools   mm.eval("EPCurveTool;")s   Color Control Reds   riggingWindow().colorMe(13)s   Colors control red.s   Color Control Blues   riggingWindow().colorMe(6)s   Colors control blue.s   Color Control Yellows   riggingWindow().colorMe(17)s   Colors control yellow.s
   Make Groups   riggingWindow().groupMaker(0)s"   Creates Empty Group that YOU name.s   Group Objects   riggingWindow().groupMaker(2)s3   Creates objects "Control Group" that groups object.s   Make Rig Scalables   riggingWindow().segment()s   Select Root Joint!t   Constraintss   Point Constraints   riggingWindow().constraint(0)s   Create point constraint.s   Orient Constraints   riggingWindow().constraint(1)s   Create orient constraint.s   Parent Constraints   riggingWindow().constraint(2)s   Create parent constraint.s   Scale Constraints   riggingWindow().constraint(4)s   Create scale constraint.s   Pole Vectors   riggingWindow().constraint(3)s   Create pole vector.s   Dock n' Swapt   Docks   riggingWindow().forceDock()s   Force the dock into place.t   Swaps   riggingWindow().leftRight()s   Swap the docks sides.t   Abouts   About this Tools   riggingWindow().displayAbout()t   adjt   innerMarginWidthi   t   innerMarginHeightt   wiÈ   t   hi  t   spdgš™™™™™¹?t   mbvs    Rigging Window and Color Setup

t   nci   t   bgci–   t   stylet   nonet   parenti   g      à?s   Create Ctrl Grpg      è?s   riggingWindow().groupMaker(1)s*   Creates objects "Control Group" on object.s   FK Ctrl Setupgš™™™™™Ù?s   Center Pivotg      Ð?s   mm.eval('CenterPivot;')s!   Centers Pivot of selected object.s   Freeze Transformss!   mm.eval('FreezeTransformations;')s   Freeze Transformations.i   s   Close Windows   cm.deleteUI("dockController")t   editt   tabLabelt
   ChannelBoxt   Outlinert   rightt   lefts
   Rig Windowt   at   contentt   aat   fl(   i,  i¼  (   i    i    (   t   cmt   deleteUIt   windowt   menut   menuItemt   columnLayoutt	   tabLayoutt
   channelBoxt	   setParentt   outlinerPanelt   textt   rowColumnLayoutt   buttont	   separatort   helpLinet   Truet   dockControl(   R   t   ourFormt   tabsR:   t   outlinert   allowedAreas(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt	   rigWindow   sŒ    +11+++1111
+c         C   sM   t  j d d d d d ƒ} | d k rI t  j d d d d d d d ƒn  d  S(	   NR   t   qi   R2   t   ei    R/   R-   (   R3   RC   (   R   t   dockSide(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt	   forceDocki   s    c         C   s`   t  j d d d d d ƒ} | d k rC t  j d d d d d ƒn t  j d d d d d ƒd  S(   NR   RI   i   R/   R-   RJ   R.   (   R3   RC   (   R   t   swapSide(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt	   leftRightn   s    c         C   s9   | d k r t  j d ƒ n | d k r5 t j ƒ  n  d  S(   Ni    s
   JointTool;i   (   t   mmt   evalR3   t   joint(   R   t   x(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt	   startBoneu   s    c         C   sI   t  j d d ƒ } x0 | D]( } y t  j | d d ƒ Wq q Xq Wd  S(   Nt   sli   s   .segmentScaleCompensatei    (   R3   t   lst   setAttr(   R   t   jointst   jnt(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   segment{   s    c         C   s…   y t  j d ƒ Wn n Xt  j d d d ƒt  j d d ƒ t  j d |  j ƒ t  j d d d d	 ƒ t  j d
 ƒ t  j d ƒ d  S(   Nt   aboutWndR   s   About This ToolR   i   R   t   CloseR   s   cm.deleteUI("aboutWnd")s   ..(	   R3   R4   R5   R8   R=   R   R?   R;   t
   showWindow(   R   (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   displayAboutƒ   s    c         C   sv  | d k rJ t  j d d ƒ t  j d d ƒ } t ƒ  } t  j | | ƒ n| d k r,t  j d d ƒ } t  j d d ƒ t  j d d ƒ } t  j | | d d ƒ t  j | ƒ t  j | d d d d ƒt  j d d d	 d ƒ } t  j | ƒ t  j | d d ƒ t j	 d
 ƒ t  j
 | | d d ƒ n6 t  j d d ƒ } t  j ƒ  } t  j | | d d ƒ t  j d d ƒ d  S(   Ni    t   emi   RT   R   t	   _ctrl_grpt   addt   moR    s   FreezeTransformations;t   _grp(   R3   t   groupRU   t	   raw_inputt   renamet   selectt   pointConstraintt   deleteRO   RP   R(   (   R   RR   t   nullt   namet   ctrlNamet   grpt   pntCon(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt
   groupMaker   s*    	c         C   so   t  j d d ƒ } d } xP | t | ƒ k  rj t  j | | d d ƒ t  j | | d | ƒ | d 7} q Wd  S(   NRT   i   i    s   .overrideEnableds   .overrideColor(   R3   RU   t   lenRV   (   R   RR   t   selectedt   i(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   colorMe¬   s    c         C   s±   | d k r% t  j d d d d ƒ nˆ | d k rJ t  j d d d d ƒ nc | d k ro t  j d d d d ƒ n> | d k rˆ t  j ƒ  n% | d k r­ t  j d d d d ƒ n  d  S(   Ni    Ra   R    i   i   i   i   (   R3   Rg   t   orientConstraintt   parentConstraintt   poleVectorConstraintt   scaleConstraint(   R   RR   (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt
   constraint´   s    c         C   s  t  j d d ƒ } t  j d d d d ƒ } | rC t | d ƒ } n t d ƒ } x˜ | D] } | | k rV d | k ræ d | k ræ t  j | ƒ } xQ | D]F } t  j | ƒ d	 k rÈ t  j | | d
 ƒ q– t  j | | d ƒ q– Wqæ qV qV Wt  j d d ƒ } t | ƒ d k rqg  } g  }	 g  }
 xk | D]c } d | k rUd | k rU|
 j | ƒ q'd | k r}d | k r}|	 j | ƒ q'| j | ƒ q'Wt  j	 |	 ƒ t  j
 d d d d d d d d d d d d ƒ t  j d d d d d ƒt  j
 d d d d d d d d d d d d ƒ t  j	 | ƒ t  j	 |
 d d ƒt  j ƒ  } t  j | ƒ t  j	 |
 ƒ t  j
 d d d d d d d d d d d d ƒ t  j	 |	 d d ƒt  j ƒ  } t  j |	 |
 ƒ t  j | ƒ t  j	 |	 ƒ t  j
 d d d d d d d d d d d d ƒ t  j	 | ƒ t  j	 |
 d d ƒt  j ƒ  } t  j | ƒ t  j	 d d ƒ t  j	 |	 ƒ t  j	 | d d ƒt  j ƒ  n t  j d ƒ t  j d ƒ d  S(   NRT   i   t   typeRQ   i    s)   Please specify the name these belong to: Rl   t   ctrlt
   nurbsCurvet   _ctrlR_   i   t   applyt	   translatet   rotatet   scalet   normalt   preserveNormalsiZ   t   relativeR`   t   deselects5   You must select one group, one joint and one control!(   R3   RU   t   strRd   t   listRelativest
   objectTypeRe   Ro   t   appendRf   t   makeIdentityR~   Rg   Rh   R(   Rs   t   headsUpMessaget   warning(   R   t   selectedObjectst	   jointNamet	   namePartst   eacht   childrent   childt   selectedObjsRX   Ry   Rl   Rm   t   pointCont   ortCon(    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   orientControlToBoneÈ   sd    "....
(   R   R	   R   RH   RL   RN   RS   RY   R]   Rn   Rr   Rw   R”   (    (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyR
      s   		L								c           C   s   t  ƒ  j ƒ  t ƒ  j ƒ  d  S(   N(   R    R   R
   RH   (    (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   main  s    t   __main__(   t	   maya.cmdst   cmdsR3   t   maya.melt   melRO   R   R    R
   R•   R   (    (    (    s/   D:/TEST/Documents/maya/scripts\RiggingWindow.pyt   <module>   s   
ÿ 
	