
    ai                        S SK Jr  S SKJr  S SKJr   " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      r	\\\\	4r
g)    )annotations)Operator)IntPropertyc                  >    \ rS rSrSrSrSrSS1r\S 5       r	S r
S	rg
)CONSTRAINT_OT_add_target   zAdd a target to the constraintzconstraint.add_targetz
Add TargetUNDOINTERNALc                     [        USS 5      nU$ N
constraintgetattrclscontextr   s      _/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/startup/bl_operators/constraint.pypollCONSTRAINT_OT_add_target.poll       WlD9
    c                P    UR                   R                  R                  5         S1$ NFINISHED)r   targetsnew)selfr   s     r   execute CONSTRAINT_OT_add_target.execute   s"    ""&&(|r    N__name__
__module____qualname____firstlineno____doc__	bl_idnamebl_label
bl_optionsclassmethodr   r   __static_attributes__r    r   r   r   r      s0    ('IH*%J r   r   c                  J    \ rS rSr% SrSrSrSS1rS\S'   \	S	 5       r
S
 rSrg)CONSTRAINT_OT_remove_target   z%Remove the target from the constraintzconstraint.remove_targetzRemove Targetr	   r
   zIntProperty()indexc                     [        USS 5      nU$ r   r   r   s      r   r    CONSTRAINT_OT_remove_target.poll'   r   r   c                n    UR                   R                  nUR                  X R                     5        S1$ r   )r   r   remover/   )r   r   tgtss      r   r   #CONSTRAINT_OT_remove_target.execute,   s.    !!))D$%|r   r    N)r"   r#   r$   r%   r&   r'   r(   r)   __annotations__r*   r   r   r+   r    r   r   r-   r-      s6    /*IH*%J r   r-   c                  >    \ rS rSrSrSrSrSS1r\S 5       r	S r
S	rg
)&CONSTRAINT_OT_normalize_target_weights2   z%Normalize weights of all target bonesz#constraint.normalize_target_weightszNormalize Weightsr	   r
   c                     [        USS 5      nU$ r   r   r   s      r   r   +CONSTRAINT_OT_normalize_target_weights.poll8   r   r   c                    UR                   R                  n[        S U 5       5      nUS:  a  U H  nUR                  U-  Ul        M     S1$ )Nc              3  8   #    U  H  oR                   v   M     g 7f)N)weight).0ts     r   	<genexpr>ACONSTRAINT_OT_normalize_target_weights.execute.<locals>.<genexpr>?   s     +dHHds   r   r   )r   r   sumr>   )r   r   r4   totalr@   s        r   r   .CONSTRAINT_OT_normalize_target_weights.execute=   sN    !!))+d++1988e+  |r   r    Nr!   r    r   r   r8   r8   2   s0    /5I"H*%J r   r8   c                  >    \ rS rSrSrSrSrSS1r\S 5       r	S r
S	rg
)$CONSTRAINT_OT_disable_keep_transformH   zSet the influence of this constraint to zero while trying to maintain the object's transformation. Other active constraints can still influence the final transformationz!constraint.disable_keep_transformzDisable and Keep Transformr	   r
   c                L    [        USS 5      nU=(       a    UR                  S:  $ )Nr           )r   	influencer   s      r   r   )CONSTRAINT_OT_disable_keep_transform.pollQ   s&    WlD9
8j22S88r   c                J   UR                   R                  S:H  nUR                  nU(       a&  UR                  nUR                  UR
                  -  nOUR                  nSUR                  l        U(       a%  UR                  R                  5       U-  Wl        S1$ XSl        S1$ )z9Disable constraint while maintaining the visual transformBONE_CONSTRAINTrJ   r   )	
space_datar   object	pose_bonematrix_worldmatrixr   rK   inverted)r   r   is_bone_constraintobbonemats         r   r   ,CONSTRAINT_OT_disable_keep_transform.executeV   s     %//77;LL^^$$D//DKK/C//C'*$ //224s:DK | "O|r   r    Nr!   r    r   r   rG   rG   H   s5    G 4I+H*%J9 9r   rG   N)
__future__r   	bpy.typesr   	bpy.propsr   r   r-   r8   rG   classesr    r   r   <module>r^      sZ   
 #
x  ( &X ,)8 )Z *(	r   