
    ai[                        S r SSKrSSKrSSKJr  SrSrSrSr	Sr
S	rS
rSr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S  S!\5      r " S" S#\5      r " S$ S%\5      r " S& S'\5      r " S( S)\5      r " S* S+\5      r " S, S-\5      r " S. S/5      r " S0 S1\\5      r  " S2 S3\\5      r! " S4 S5\5      r" " S6 S7\5      r# " S8 S9\5      r$\\\\\\\\\\"\#\$\\\\\\\\\ \!4r%S: r&S; r'\(S<:X  a  \&" 5         gg)=a  
Built-In Keying Sets
None of these Keying Sets should be removed, as these are needed by various parts of Blender in order for them
to work correctly.

Beware also about changing the order that these are defined here, since this can result in old files referring to the
wrong Keying Set as the active one, potentially resulting in lost (i.e. unkeyed) animation.

Note that these classes cannot be subclassed further; only direct subclasses of KeyingSetInfo
are supported.
    N)KeyingSetInfoLocationRotationScalingLocRotScaleLocRotScaleCProp	AvailableWholeCharacterWholeCharacterSelectedc                   h    \ rS rSrSr\rSr\R                  r
\R                  r\R                  rSrg)BUILTIN_KSI_Location&   z2Insert a keyframe on each of the location channelsr    N)__name__
__module____qualname____firstlineno____doc__ANIM_KS_LOCATION_ID	bl_idnamebl_labelkeyingsets_utilsRKS_POLL_selected_itemspollRKS_ITER_selected_itemiteratorRKS_GEN_locationgenerate__static_attributes__r       [/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/startup/keyingsets_builtins.pyr   r   &   6    <#IH 33D  66H  00Hr    r   c                   h    \ rS rSrSr\rSr\R                  r
\R                  r\R                  rSrg)BUILTIN_KSI_Rotation6   z2Insert a keyframe on each of the rotation channelsr   r   N)r   r   r   r   r   ANIM_KS_ROTATION_IDr   r   r   r   r   r   r   RKS_GEN_rotationr   r   r   r    r!   r$   r$   6   r"   r    r$   c                   h    \ rS rSrSr\rSr\R                  r
\R                  r\R                  rSrg)BUILTIN_KSI_ScalingF   z/Insert a keyframe on each of the scale channelsScaler   N)r   r   r   r   r   ANIM_KS_SCALING_IDr   r   r   r   r   r   r   RKS_GEN_scalingr   r   r   r    r!   r)   r)   F   s6    9"IH 33D  66H  //Hr    r)   c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_LocRotX   z?Insert a keyframe on each of the location and rotation channelszLocation & Rotationc                 `    [         R                  " XX#5        [         R                  " XX#5        g Nr   r   r'   selfcontextksdatas       r!   r   BUILTIN_KSI_LocRot.generatec   "    ))$B))$Br    r   Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r/   r/   X   s*    I$H 33D  66HCr    r/   c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_LocScalek   z<Insert a keyframe on each of the location and scale channelszLocation & Scalec                 `    [         R                  " XX#5        [         R                  " XX#5        g r2   r   r   r-   r4   s       r!   r   BUILTIN_KSI_LocScale.generatev   "    ))$B((Ar    r   Nr;   r   r    r!   r=   r=   k   *    F!H 33D  66HBr    r=   c                   V    \ rS rSrSr\rSr\R                  r
\R                  rS rSrg)BUILTIN_KSI_LocRotScale~   zGInsert a keyframe on each of the location, rotation, and scale channelszLocation, Rotation & Scalec                     [         R                  " XX#5        [         R                  " XX#5        [         R                  " XX#5        g r2   r   r   r'   r-   r4   s       r!   r    BUILTIN_KSI_LocRotScale.generate   2    ))$B))$B((Ar    r   N)r   r   r   r   r   ANIM_KS_LOC_ROT_SCALE_IDr   r   r   r   r   r   r   r   r   r   r    r!   rE   rE   ~   s/    Q(I+H 33D  66HBr    rE   c                   V    \ rS rSrSr\rSr\R                  r
\R                  rS rSrg)BUILTIN_KSI_LocRotScaleCProp   z8Key location/rotation/scale as well as custom propertiesz-Location, Rotation, Scale & Custom Propertiesc                     [         R                  " XX#5        [         R                  " XX#5        [         R                  " XX#5        [         R                  " XX#5        g r2   )r   r   r'   r-   RKS_GEN_custom_propsr4   s       r!   r   %BUILTIN_KSI_LocRotScaleCProp.generate   sB    ))$B))$B((A--dRFr    r   N)r   r   r   r   r   ANIM_KS_LOC_ROT_SCALE_CPROP_IDr   r   r   r   r   r   r   r   r   r   r    r!   rM   rM      s+    B.I>H33D66HGr    rM   c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_RotScale   z<Insert a keyframe on each of the rotation and scale channelszRotation & Scalec                 `    [         R                  " XX#5        [         R                  " XX#5        g r2   r   r'   r-   r4   s       r!   r   BUILTIN_KSI_RotScale.generate   rB   r    r   Nr;   r   r    r!   rT   rT      rC   r    rT   c                   d    \ rS rSrSrSr\R                  r\R                  r
\R                  rSrg)BUILTIN_KSI_BendyBones   z9Insert a keyframe for each of the B-Bone shape propertieszB-Bone Shaper   N)r   r   r   r   r   r   r   RKS_POLL_selected_bonesr   RKS_ITER_selected_bonesr   RKS_GEN_bendy_bonesr   r   r   r    r!   rZ   rZ      s1    CH 33D  77H  33Hr    rZ   c                   j    \ rS rSrSrSrS1r\R                  r	\R                  r\R                  rSrg)BUILTIN_KSI_VisualLoc   zpInsert a keyframe on each of the location channels, taking into account effects of constraints and relationshipszVisual LocationINSERTKEY_VISUALr   N)r   r   r   r   r   r   
bl_optionsr   "RKS_POLL_selected_bones_or_objectsr   r   r   r   r   r   r   r    r!   r`   r`      <    K H$%J >>D  66H  00Hr    r`   c                   j    \ rS rSrSrSrS1r\R                  r	\R                  r\R                  rSrg)BUILTIN_KSI_VisualRot   zpInsert a keyframe on each of the rotation channels, taking into account effects of constraints and relationshipszVisual Rotationrb   r   N)r   r   r   r   r   r   rc   r   rd   r   r   r   r'   r   r   r   r    r!   rg   rg      re   r    rg   c                   j    \ rS rSrSrSrS1r\R                  r	\R                  r\R                  rSrg)BUILTIN_KSI_VisualScaling   zmInsert a keyframe on each of the scale channels, taking into account effects of constraints and relationshipszVisual Scalerb   r   N)r   r   r   r   r   r   rc   r   rd   r   r   r   r-   r   r   r   r    r!   rj   rj      s<    KH$%J >>D  66H  //Hr    rj   c                   X    \ rS rSrSrSrS1r\R                  r	\R                  rS rSrg)BUILTIN_KSI_VisualLocRot   z}Insert a keyframe on each of the location and rotation channels, taking into account effects of constraints and relationshipszVisual Location & Rotationrb   c                 `    [         R                  " XX#5        [         R                  " XX#5        g r2   r3   r4   s       r!   r   !BUILTIN_KSI_VisualLocRot.generate  r:   r    r   Nr   r   r   r   r   r   rc   r   rd   r   r   r   r   r   r   r    r!   rm   rm      s5    K+H$%J >>D  66HCr    rm   c                   X    \ rS rSrSrSrS1r\R                  r	\R                  rS rSrg)BUILTIN_KSI_VisualLocScalei  zzInsert a keyframe on each of the location and scale channels, taking into account effects of constraints and relationshipszVisual Location & Scalerb   c                 `    [         R                  " XX#5        [         R                  " XX#5        g r2   r@   r4   s       r!   r   #BUILTIN_KSI_VisualLocScale.generate$  rB   r    r   Nrq   r   r    r!   rs   rs     5    K(H$%J >>D  66HBr    rs   c                   X    \ rS rSrSrSrS1r\R                  r	\R                  rS rSrg)BUILTIN_KSI_VisualLocRotScalei,  zInsert a keyframe on each of the location, rotation and scale channels, taking into account effects of constraints and relationshipsz!Visual Location, Rotation & Scalerb   c                     [         R                  " XX#5        [         R                  " XX#5        [         R                  " XX#5        g r2   rH   r4   s       r!   r   &BUILTIN_KSI_VisualLocRotScale.generate:  rJ   r    r   Nrq   r   r    r!   rx   rx   ,  s5    h2H$%J >>D  66HBr    rx   c                   X    \ rS rSrSrSrS1r\R                  r	\R                  rS rSrg)BUILTIN_KSI_VisualRotScaleiD  zzInsert a keyframe on each of the rotation and scale channels, taking into account effects of constraints and relationshipszVisual Rotation & Scalerb   c                 `    [         R                  " XX#5        [         R                  " XX#5        g r2   rW   r4   s       r!   r   #BUILTIN_KSI_VisualRotScale.generateR  rB   r    r   Nrq   r   r    r!   r|   r|   D  rv   r    r|   c                   V    \ rS rSrSr\rSrS r\	R                  r\	R                  rSrg)BUILTIN_KSI_Availablei\  z:Insert a keyframe on each of the already existing F-Curvesr	   c                 ,    [        UR                  5      $ r2   )boolselected_objectsr5   r6   s     r!   r   BUILTIN_KSI_Available.polla  s     G,,--r    r   N)r   r   r   r   r   ANIM_KS_AVAILABLE_IDr   r   r   r   r   r   RKS_GEN_availabler   r   r   r    r!   r   r   \  s.    D$IH.  66H  11Hr    r   c                   X    \ rS rSrSrS rS rS rSS jrS r	S r
S	 rS
 rS rS rSrg)WholeCharacterMixinio  )DEFGEOMCHORGCORVISc                     UR                   =(       a6    UR                   R                  =(       a    UR                   R                  S:H  $ )NPOSE)active_objectposemoder   s     r!   r   WholeCharacterMixin.poll}  s<    && 7W-B-B-G-G 7&&++v5	8r    c                     UR                   R                  R                   HA  nUR                  R	                  U R
                  5      (       a  M/  U R                  XU5        MC     g r2   )r   r   bonesname
startswithbadBonePrefixesr   r5   r6   r7   bones       r!   r   WholeCharacterMixin.iterator  sG    ))..44D99''(<(<==g40 5r    c                 *   UR                   R                  (       d  U R                  X#5        UR                  S;   a  U R	                  X#5        OU R                  X#5        U R                  X#5        U R                  XU5        U R                  X#5        g )N>   
AXIS_ANGLE
QUATERNION)	r   use_connectdoLocrotation_modedoRot4ddoRot3ddoScaledoBBonedoCustomPropsr   s       r!   r   WholeCharacterMixin.generate  sn    yy$$JJr !==LL"LL"R 	W$' 	2$r    c                 .   UR                  5       nUR                  nUR                  S5      (       a  Xc-   nO[        R                  " Xc5      nU(       a'  UR
                  R                  XxUSUR                  S9  g UR
                  R                  XxUS9  g )N[NAMED)indexgroup_method
group_name)r   )path_from_idid_datar   r   path_add_propertypathsaddr   )	r5   r7   r   propr   
use_groupsid_pathid_blockpaths	            r!   addPropWholeCharacterMixin.addProp  sy    ##%<<??3>D $55gDD HHLLu7W[W`W`LaHHLLuL5r    c                     UR                   S:X  a  U R                  XS5        g [        S5       H,  nUR                   U   (       a  M  U R                  XSU5        M.     g )NFFFlocation   )lock_locationr   ranger5   r7   r   is       r!   r   WholeCharacterMixin.doLoc  sN    !66LL:.1X))!,,LL:q9 r    c                    UR                   S:X  a  SnOUR                   S:X  a  SnUR                  (       a  UR                  S:X  a"  UR                  SL a  U R	                  XW5        g UR                  SL a  U R	                  XWS5        [        S5       H/  nUR                  U   (       a  M  U R	                  XWUS	-   5        M1     g S
UR                  ;  a  U R	                  XW5        g g )Nr   rotation_quaternionr   rotation_axis_angler   Fr   r      T)r   lock_rotations_4dlock_rotationlock_rotation_wr   r   )r5   r7   r   r   r   s        r!   r   WholeCharacterMixin.doRot4d  s    -(D</(D !!""&;;$BVBVZ_B_Rt,''50LL43qA--a00RtQU; " +++ LL4( ,r    c                     UR                   S:X  a  U R                  XS5        g [        S5       H,  nUR                   U   (       a  M  U R                  XSU5        M.     g )Nr   rotation_eulerr   )r   r   r   r   s       r!   r   WholeCharacterMixin.doRot3d  sP    !66LL#341X))!,,LL+;Q? r    c                     UR                   S:X  a  U R                  XS5        g [        S5       H,  nUR                   U   (       a  M  U R                  XSU5        M.     g )N)r   r   r   scaler   )
lock_scaler   r   r   s       r!   r   WholeCharacterMixin.doScale  sI    ??i'LL7+1Xq))LL7A6 r    c                 l    UR                   nUR                  S:  a  [        R                  " XX#5        g g )Nr   )r   bbone_segmentsr   r^   )r5   r6   r7   pchanr   s        r!   r   WholeCharacterMixin.doBBone  s0    zz "00J #r    c                    [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R
                  1nUR                  5        H  n[        U5      R                  R                  R                  US 5      nUcp  SR                  [         R                  R                  U5      5      n UR                  US5      nU(       d  M  UR                   U;   a  U R#                  XU5        M  M  UR$                  (       d  M  U R#                  XU5        M     g ! [         a     M  f = f)Nz["{:s}"]F)bpytypesBoolPropertyIntPropertyFloatPropertyEnumPropertykeystypebl_rna
propertiesgetformatutilsescape_identifierpath_resolve
ValueErrorrna_typer   is_animatable)r5   r7   r   prop_type_compatr   prop_rna	prop_pathrna_propertys           r!   r   !WholeCharacterMixin.doCustomProps  s
    II""II!!II##II""	
 IIKDDz((3377dCH&--cii.I.I$.OP	#'#4#4Y#FL
 $((,<<LL95 ='''Rt,#   "  s   E
EEr   N)T)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r   r   o  s=    O8
1%&6*:)0@7K-r    r   c                        \ rS rSrSr\rSrSrg)BUILTIN_KSI_WholeCharacteri  zyInsert a keyframe for all properties that are likely to get animated in a character rig (useful when blocking out a shot)zWhole Characterr   N)	r   r   r   r   r   ANIM_KS_WHOLE_CHARACTER_IDr   r   r   r   r    r!   r   r     s    0*I Hr    r   c                   &    \ rS rSrSr\rSrS rSr	g)"BUILTIN_KSI_WholeCharacterSelectedi  zmInsert a keyframe for all properties that are likely to get animated in a character rig (only selected bones)z%Whole Character (Selected Bones Only)c                     UR                   =(       d     UR                  R                  R                  nU HA  nUR                  R                  U R                  5      (       a  M/  U R                  XU5        MC     g r2   )&selected_pose_bones_from_active_objectr   r   r   r   r   r   r   )r5   r6   r7   r   r   s        r!   r   +BUILTIN_KSI_WholeCharacterSelected.iterator  sZ    >>b'BWBWB\B\BbBbDyy##D$8$899MM't, r    r   N)
r   r   r   r   r   #ANIM_KS_WHOLE_CHARACTER_SELECTED_IDr   r   r   r   r   r    r!   r   r     s    $3I6H-r    r   c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_DeltaLocationi-  z/Insert keyframes for additional location offsetzDelta Locationc                     [         R                  " U5      u  pEn[         R                  " US5      nU(       a  UR                  R	                  XGSUS9  g UR                  R	                  XG5        g )Ndelta_locationr   r   r   r   "get_transform_generators_base_infor   r   r   r5   _contextr7   r8   r   	base_pathgroupingr   s           r!   r   "BUILTIN_KSI_DeltaLocation.generate8  sX    (8([([\`(a%X  11)=MN HHLLg(LSHHLL(r    r   Nr   r   r   r   r   r   r   RKS_POLL_selected_objectsr   RKS_ITER_selected_objectsr   r   r   r   r    r!   r   r   -  s)    9H 55D  99H)r    r   c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_DeltaRotationiG  z/Insert keyframes for additional rotation offsetzDelta Rotationc                 R   [         R                  " U5      u  pEnUR                  S:X  a  [         R                  " US5      nO(UR                  S:X  a  g [         R                  " US5      nU(       a  UR                  R                  XGSUS9  g UR                  R                  XG5        g )Nr   delta_rotation_quaternionr   delta_rotation_eulerr   r   )r   r   r   r   r   r   r  s           r!   r   "BUILTIN_KSI_DeltaRotation.generateR  s    (8([([\`(a%X -#55iA\]D</ #55iAWXD HHLLg(LSHHLL(r    r   Nr  r   r    r!   r
  r
  G  s)    9H 55D  99H)r    r
  c                   R    \ rS rSrSrSr\R                  r\R                  r
S rSrg)BUILTIN_KSI_DeltaScaleii  z,Insert keyframes for additional scale factorzDelta Scalec                     [         R                  " U5      u  pEn[         R                  " US5      nU(       a  UR                  R	                  XGSUS9  g UR                  R	                  XG5        g )Ndelta_scaler   r   r   r  s           r!   r   BUILTIN_KSI_DeltaScale.generatet  sW    (8([([\`(a%X  11)]K HHLLg(LSHHLL(r    r   Nr  r   r    r!   r  r  i  s)    6H 55D  99H)r    r  c                  :    SSK Jn   [         H  nU " U5        M     g )Nr   )register_class)	bpy.utilsr  classes)r  clss     r!   registerr    s    (s r    c                  :    SSK Jn   [         H  nU " U5        M     g )Nr   )unregister_class)r  r  r  )r  r  s     r!   
unregisterr    s    * r    __main__))r   r   _keyingsets_utilsr   	bpy.typesr   r   r&   r,   rK   rR   r   r   r   r   r$   r)   r/   r=   rE   rM   rT   rZ   r`   rg   rj   rm   rs   rx   r|   r   r   r   r   r   r
  r  r  r  r  r   r   r    r!   <module>r      s  

  , # !    ( !3 " - &> #1= 1 1= 1 0- 0$C C&B= B&Bm B,G= G B= B*4] 4"1M 1$1M 1$0 0$C} C,B B,BM B0B B02M 2&^- ^-B!!4m !-)<m -,) )4) )D)] )>  !&-4 zJ r    