From 766d6414dc519afb5ee9cd9eac540c6b405587ce Mon Sep 17 00:00:00 2001 From: Ines Almeida Date: Mon, 25 Apr 2016 21:27:54 +0100 Subject: [PATCH] Refactor addon reloading and whitespace cleanup. Fixes view3d_copy_attributes error --- __init__.py | 625 +++++++++++++++++++++++++++------------------------- 1 file changed, 319 insertions(+), 306 deletions(-) diff --git a/__init__.py b/__init__.py index 97d10b1..3e471df 100644 --- a/__init__.py +++ b/__init__.py @@ -48,25 +48,15 @@ import os from bpy.props import FloatProperty, IntProperty, BoolProperty -######### Load Dependencies ########## -import addon_utils - -addon_utils.enable("space_view3d_copy_attributes", default_set=False, persistent=True, handle_error=None) - -######### Relative Path ########## - -base_dir = os.path.dirname(__file__) -from . import base_dir - ######### Load Rig Functions ########## from .rig_functions import ( - bone_auto_hide, + bone_auto_hide, reproportion_toggle, rig_toggles, toggle_face_drivers, - toggle_flex_drivers, + toggle_flex_drivers, toggle_body_drivers - ) +) ######### Update Function for Properties ########## @@ -74,21 +64,21 @@ def prop_update(self, context): bone_auto_hide(context) def reprop_update(self, context): - reproportion_toggle(context) - + reproportion_toggle(context) + def rig_toggles_update(self, context): rig_toggles(context) - + def optimize_face(self, context): - toggle_face_drivers(context) + toggle_face_drivers(context) def optimize_flex(self, context): - toggle_flex_drivers(context) - + toggle_flex_drivers(context) + def optimize_body(self, context): - toggle_body_drivers(context) - -######### Hanlder for update on load and frame change ######### + toggle_body_drivers(context) + +######### Handler for update on load and frame change ######### from bpy.app.handlers import persistent @@ -1221,8 +1211,8 @@ from .ops_picker_face import ( ####### Load BlenRig 5 Rig Presets Operators from .blenrig_biped.ops_blenrig_biped_add import ( Operator_BlenRig5_Add_Biped - ) - +) + #################### Blenrig Object Add Menu ############### class INFO_MT_blenrig5_add_rig(bpy.types.Menu): @@ -1255,30 +1245,30 @@ class ARMATURE_OT_blenrig_5_gui(bpy.types.Operator): arm[self.properties.tab] = not arm[self.properties.tab] return{'FINISHED'} -####### RGISTRATION ############################################### +####### REGISTRATION ############################################## # Needed for property registration class Blenrig_5_Props(bpy.types.PropertyGroup): gui_picker_body_props = bpy.props.BoolProperty(default=True, description="Toggle properties display") - gui_snap_all = bpy.props.BoolProperty(default=False, description="Display ALL Snapping Buttons") - gui_snap = bpy.props.BoolProperty(default=False, description="Display Snapping Buttons") - gui_cust_props_all = bpy.props.BoolProperty(default=False, description="Show ALL Custom Properties") - gui_extra_props_head = bpy.props.BoolProperty(default=False, description="Tweak head extra options") + gui_snap_all = bpy.props.BoolProperty(default=False, description="Display ALL Snapping Buttons") + gui_snap = bpy.props.BoolProperty(default=False, description="Display Snapping Buttons") + gui_cust_props_all = bpy.props.BoolProperty(default=False, description="Show ALL Custom Properties") + gui_extra_props_head = bpy.props.BoolProperty(default=False, description="Tweak head extra options") gui_extra_props_arms = bpy.props.BoolProperty(default=False, description="Tweak arms extra options") gui_extra_props_fingers = bpy.props.BoolProperty(default=False, description="Tweak fingers extra options") gui_extra_props_legs = bpy.props.BoolProperty(default=False, description="Tweak legs extra options") gui_extra_props_accessories = bpy.props.BoolProperty(default=False, description="Tweak accessories options") gui_face_movement_ranges = bpy.props.BoolProperty(default=False, description="Set limits to facial movement") gui_face_lip_shaping = bpy.props.BoolProperty(default=False, description="Parameters to define lips curvature") - gui_face_action_toggles = bpy.props.BoolProperty(default=False, description="Toggle facial actions off for editing") - gui_body_ik_rot = bpy.props.BoolProperty(default=False, description="Set the initial rotation of IK bones") - gui_body_auto_move = bpy.props.BoolProperty(default=False, description="Parameters for automated movement") - gui_body_rj = bpy.props.BoolProperty(default=False, description="Simulate how bone thickness affects joint rotation") - gui_body_toggles = bpy.props.BoolProperty(default=False, description="Toggle body parts") - bake_to_shape = bpy.props.BoolProperty(name="Bake to Shape Key", default=False, description="Bake the mesh into a separate Shape Key") - align_selected_only = bpy.props.BoolProperty(name="Selected Bones Only", default=False, description="Perform aligning only on selected bones") + gui_face_action_toggles = bpy.props.BoolProperty(default=False, description="Toggle facial actions off for editing") + gui_body_ik_rot = bpy.props.BoolProperty(default=False, description="Set the initial rotation of IK bones") + gui_body_auto_move = bpy.props.BoolProperty(default=False, description="Parameters for automated movement") + gui_body_rj = bpy.props.BoolProperty(default=False, description="Simulate how bone thickness affects joint rotation") + gui_body_toggles = bpy.props.BoolProperty(default=False, description="Toggle body parts") + bake_to_shape = bpy.props.BoolProperty(name="Bake to Shape Key", default=False, description="Bake the mesh into a separate Shape Key") + align_selected_only = bpy.props.BoolProperty(name="Selected Bones Only", default=False, description="Perform aligning only on selected bones") -#BlenRig Armature Tools Operator +# BlenRig Armature Tools Operator armature_classes = [ ARMATURE_OT_reset_constraints, ARMATURE_OT_armature_baker, @@ -1291,8 +1281,8 @@ armature_classes = [ BlenRig_5_rigging_panel, BlenRig_5_mesh_panel, BlenRig_5_lattice_panel - ] -#BlenRig Align Operators +] +# BlenRig Align Operators alignment_classes = [ Operator_BlenRig_Fix_Misaligned_Bones, Operator_BlenRig_Auto_Bone_Roll, @@ -1300,11 +1290,11 @@ alignment_classes = [ Operator_BlenRig_Store_Roll_Angles, Operator_BlenRig_Restore_Roll_Angles, Operator_BlenRig_Reset_Dynamic - ] -# BlenRig IK/FK Snapping Operators +] +# BlenRig IK/FK Snapping Operators snapping_classes = [ - Operator_Torso_Snap_FK_IK, - Operator_Torso_Snap_IK_FK, + Operator_Torso_Snap_FK_IK, + Operator_Torso_Snap_IK_FK, Operator_Head_Snap_FK_IK, Operator_Head_Snap_IK_FK, Operator_Torso_Snap_UP_INV, @@ -1317,261 +1307,261 @@ snapping_classes = [ Operator_Leg_L_Snap_IK_FK, Operator_Leg_R_Snap_FK_IK, Operator_Leg_R_Snap_IK_FK - ] +] # BlenRig Picker Operators body_picker_biped_classes = [ Operator_Head_Stretch, - Operator_Head_Toon, - Operator_Head_Top_Ctrl, - Operator_Head_Mid_Ctrl, - Operator_Head_Mid_Curve, - Operator_Mouth_Str_Ctrl, - Operator_Head_FK, - Operator_Head_IK, - Operator_Neck_4_Toon, - Operator_Face_Toon_Up, - Operator_Face_Toon_Mid, - Operator_Face_Toon_Low, - Operator_Neck_3, + Operator_Head_Toon, + Operator_Head_Top_Ctrl, + Operator_Head_Mid_Ctrl, + Operator_Head_Mid_Curve, + Operator_Mouth_Str_Ctrl, + Operator_Head_FK, + Operator_Head_IK, + Operator_Neck_4_Toon, + Operator_Face_Toon_Up, + Operator_Face_Toon_Mid, + Operator_Face_Toon_Low, + Operator_Neck_3, Operator_Neck_2, - Operator_Neck_1, - Operator_Neck_3_Toon, - Operator_Neck_2_Toon, - Operator_Neck_Ctrl, - Operator_Shoulder_L, - Operator_Shoulder_R, - Operator_Shoulder_Rot_L, - Operator_Shoulder_Rot_R, - Operator_Clavi_Toon_L, - Operator_Clavi_Toon_R, - Operator_Head_Scale, - Operator_Arm_Toon_L, - Operator_Elbow_Pole_L, - Operator_Forearm_Toon_L, - Operator_Arm_Scale_L, - Operator_Arm_FK_L, - Operator_Arm_IK_L, - Operator_Elbow_Toon_L, - Operator_Forearm_FK_L, - Operator_Forearm_IK_L, - Operator_Hand_Toon_L, - Operator_Arm_Toon_R, - Operator_Elbow_Pole_R, - Operator_Forearm_Toon_R, - Operator_Arm_Scale_R, - Operator_Arm_FK_R, - Operator_Arm_IK_R, - Operator_Elbow_Toon_R, - Operator_Forearm_FK_R, - Operator_Forearm_IK_R, - Operator_Hand_Toon_R, - Operator_Torso_Ctrl, - Operator_Spine_3, - Operator_Spine_2, - Operator_Spine_1, - Operator_Master_Torso_Pivot_Point, - Operator_Master_Torso, - Operator_Pelvis_Ctrl, - Operator_Spine_4_Toon, - Operator_Spine_3_Toon, - Operator_Spine_2_Toon, - Operator_Spine_1_Toon, - Operator_Pelvis_Toon, - Operator_Spine_3_Inv_Ctrl, - Operator_Hand_Roll_L, - Operator_Fing_Spread_L, - Operator_Hand_IK_Pivot_Point_L, - Operator_Hand_IK_Ctrl_L, - Operator_Hand_FK_L, - Operator_Fing_Lit_Ctrl_L, - Operator_Fing_Lit_2_L, - Operator_Fing_Lit_3_L, - Operator_Fing_Lit_4_L, - Operator_Fing_Ring_Ctrl_L, - Operator_Fing_Ring_2_L, - Operator_Fing_Ring_3_L, - Operator_Fing_Ring_4_L, - Operator_Fing_Mid_Ctrl_L, - Operator_Fing_Mid_2_L, - Operator_Fing_Mid_3_L, - Operator_Fing_Mid_4_L, - Operator_Fing_Ind_Ctrl_L, - Operator_Fing_Ind_2_L, - Operator_Fing_Ind_3_L, - Operator_Fing_Ind_4_L, - Operator_Fing_Thumb_Ctrl_L, - Operator_Fing_Thumb_2_L, - Operator_Fing_Thumb_3_L, - Operator_Fing_Thumb_1_L, - Operator_Fing_Lit_IK_L, - Operator_Fing_Ring_IK_L, - Operator_Fing_Mid_IK_L, - Operator_Fing_Ind_IK_L, - Operator_Fing_Thumb_IK_L, - Operator_Hand_Close_L, - Operator_Hand_Roll_R, - Operator_Fing_Spread_R, - Operator_Hand_IK_Pivot_Point_R, - Operator_Hand_IK_Ctrl_R, - Operator_Hand_FK_R, - Operator_Fing_Lit_Ctrl_R, - Operator_Fing_Lit_2_R, - Operator_Fing_Lit_3_R, - Operator_Fing_Lit_4_R, - Operator_Fing_Ring_Ctrl_R, - Operator_Fing_Ring_2_R, - Operator_Fing_Ring_3_R, - Operator_Fing_Ring_4_R, - Operator_Fing_Mid_Ctrl_R, - Operator_Fing_Mid_2_R, - Operator_Fing_Mid_3_R, - Operator_Fing_Mid_4_R, - Operator_Fing_Ind_Ctrl_R, - Operator_Fing_Ind_2_R, - Operator_Fing_Ind_3_R, - Operator_Fing_Ind_4_R, - Operator_Fing_Thumb_Ctrl_R, - Operator_Fing_Thumb_2_R, - Operator_Fing_Thumb_3_R, - Operator_Fing_Thumb_1_R, - Operator_Fing_Lit_IK_R, - Operator_Fing_Ring_IK_R, - Operator_Fing_Mid_IK_R, - Operator_Fing_Ind_IK_R, - Operator_Fing_Thumb_IK_R, - Operator_Hand_Close_R, - Operator_Thigh_Toon_L, - Operator_Knee_Pole_L, - Operator_Shin_Toon_L, - Operator_Pelvis_Toon_L, - Operator_Leg_Scale_L, - Operator_Thigh_FK_L, - Operator_Thigh_IK_L, - Operator_Knee_Toon_L, - Operator_Shin_FK_L, - Operator_Shin_IK_L, - Operator_Foot_Toon_L, - Operator_Thigh_Toon_R, - Operator_Knee_Pole_R, - Operator_Shin_Toon_R, - Operator_Pelvis_Toon_R, - Operator_Leg_Scale_R, - Operator_Thigh_FK_R, - Operator_Thigh_IK_R, - Operator_Knee_Toon_R, - Operator_Shin_FK_R, - Operator_Shin_IK_R, - Operator_Foot_Toon_R, - Operator_Toe_2_FK_L, - Operator_Toe_Roll_1_L, - Operator_Toe_1_FK_L, - Operator_Toe_Roll_2_L, - Operator_Foot_L, - Operator_Foot_Roll_Ctrl_L, - Operator_Toe_Big_Ctrl_L, - Operator_Toe_Big_2_L, - Operator_Toe_Big_3_L, - Operator_Toe_Big_IK_L, + Operator_Neck_1, + Operator_Neck_3_Toon, + Operator_Neck_2_Toon, + Operator_Neck_Ctrl, + Operator_Shoulder_L, + Operator_Shoulder_R, + Operator_Shoulder_Rot_L, + Operator_Shoulder_Rot_R, + Operator_Clavi_Toon_L, + Operator_Clavi_Toon_R, + Operator_Head_Scale, + Operator_Arm_Toon_L, + Operator_Elbow_Pole_L, + Operator_Forearm_Toon_L, + Operator_Arm_Scale_L, + Operator_Arm_FK_L, + Operator_Arm_IK_L, + Operator_Elbow_Toon_L, + Operator_Forearm_FK_L, + Operator_Forearm_IK_L, + Operator_Hand_Toon_L, + Operator_Arm_Toon_R, + Operator_Elbow_Pole_R, + Operator_Forearm_Toon_R, + Operator_Arm_Scale_R, + Operator_Arm_FK_R, + Operator_Arm_IK_R, + Operator_Elbow_Toon_R, + Operator_Forearm_FK_R, + Operator_Forearm_IK_R, + Operator_Hand_Toon_R, + Operator_Torso_Ctrl, + Operator_Spine_3, + Operator_Spine_2, + Operator_Spine_1, + Operator_Master_Torso_Pivot_Point, + Operator_Master_Torso, + Operator_Pelvis_Ctrl, + Operator_Spine_4_Toon, + Operator_Spine_3_Toon, + Operator_Spine_2_Toon, + Operator_Spine_1_Toon, + Operator_Pelvis_Toon, + Operator_Spine_3_Inv_Ctrl, + Operator_Hand_Roll_L, + Operator_Fing_Spread_L, + Operator_Hand_IK_Pivot_Point_L, + Operator_Hand_IK_Ctrl_L, + Operator_Hand_FK_L, + Operator_Fing_Lit_Ctrl_L, + Operator_Fing_Lit_2_L, + Operator_Fing_Lit_3_L, + Operator_Fing_Lit_4_L, + Operator_Fing_Ring_Ctrl_L, + Operator_Fing_Ring_2_L, + Operator_Fing_Ring_3_L, + Operator_Fing_Ring_4_L, + Operator_Fing_Mid_Ctrl_L, + Operator_Fing_Mid_2_L, + Operator_Fing_Mid_3_L, + Operator_Fing_Mid_4_L, + Operator_Fing_Ind_Ctrl_L, + Operator_Fing_Ind_2_L, + Operator_Fing_Ind_3_L, + Operator_Fing_Ind_4_L, + Operator_Fing_Thumb_Ctrl_L, + Operator_Fing_Thumb_2_L, + Operator_Fing_Thumb_3_L, + Operator_Fing_Thumb_1_L, + Operator_Fing_Lit_IK_L, + Operator_Fing_Ring_IK_L, + Operator_Fing_Mid_IK_L, + Operator_Fing_Ind_IK_L, + Operator_Fing_Thumb_IK_L, + Operator_Hand_Close_L, + Operator_Hand_Roll_R, + Operator_Fing_Spread_R, + Operator_Hand_IK_Pivot_Point_R, + Operator_Hand_IK_Ctrl_R, + Operator_Hand_FK_R, + Operator_Fing_Lit_Ctrl_R, + Operator_Fing_Lit_2_R, + Operator_Fing_Lit_3_R, + Operator_Fing_Lit_4_R, + Operator_Fing_Ring_Ctrl_R, + Operator_Fing_Ring_2_R, + Operator_Fing_Ring_3_R, + Operator_Fing_Ring_4_R, + Operator_Fing_Mid_Ctrl_R, + Operator_Fing_Mid_2_R, + Operator_Fing_Mid_3_R, + Operator_Fing_Mid_4_R, + Operator_Fing_Ind_Ctrl_R, + Operator_Fing_Ind_2_R, + Operator_Fing_Ind_3_R, + Operator_Fing_Ind_4_R, + Operator_Fing_Thumb_Ctrl_R, + Operator_Fing_Thumb_2_R, + Operator_Fing_Thumb_3_R, + Operator_Fing_Thumb_1_R, + Operator_Fing_Lit_IK_R, + Operator_Fing_Ring_IK_R, + Operator_Fing_Mid_IK_R, + Operator_Fing_Ind_IK_R, + Operator_Fing_Thumb_IK_R, + Operator_Hand_Close_R, + Operator_Thigh_Toon_L, + Operator_Knee_Pole_L, + Operator_Shin_Toon_L, + Operator_Pelvis_Toon_L, + Operator_Leg_Scale_L, + Operator_Thigh_FK_L, + Operator_Thigh_IK_L, + Operator_Knee_Toon_L, + Operator_Shin_FK_L, + Operator_Shin_IK_L, + Operator_Foot_Toon_L, + Operator_Thigh_Toon_R, + Operator_Knee_Pole_R, + Operator_Shin_Toon_R, + Operator_Pelvis_Toon_R, + Operator_Leg_Scale_R, + Operator_Thigh_FK_R, + Operator_Thigh_IK_R, + Operator_Knee_Toon_R, + Operator_Shin_FK_R, + Operator_Shin_IK_R, + Operator_Foot_Toon_R, + Operator_Toe_2_FK_L, + Operator_Toe_Roll_1_L, + Operator_Toe_1_FK_L, + Operator_Toe_Roll_2_L, + Operator_Foot_L, + Operator_Foot_Roll_Ctrl_L, + Operator_Toe_Big_Ctrl_L, + Operator_Toe_Big_2_L, + Operator_Toe_Big_3_L, + Operator_Toe_Big_IK_L, Operator_Toe_Ind_Ctrl_L, - Operator_Toe_Ind_2_L, - Operator_Toe_Ind_3_L, - Operator_Toe_Ind_4_L, - Operator_Toe_Ind_IK_L, - Operator_Toe_Mid_Ctrl_L, - Operator_Toe_Mid_2_L, - Operator_Toe_Mid_3_L, - Operator_Toe_Mid_4_L, - Operator_Toe_Mid_IK_L, - Operator_Toe_Fourth_Ctrl_L, - Operator_Toe_Fourth_2_L, - Operator_Toe_Fourth_3_L, - Operator_Toe_Fourth_4_L, - Operator_Toe_Fourth_IK_L, - Operator_Toe_Lit_Ctrl_L, - Operator_Toe_Lit_2_L, - Operator_Toe_Lit_3_L, - Operator_Toe_Lit_IK_L, - Operator_Toes_Spread_L, - Operator_Toes_IK_Ctrl_Mid_L, - Operator_Toes_IK_Ctrl_L, - Operator_Sole_Ctrl_L, - Operator_Sole_Pivot_Point_L, - Operator_Toe_2_FK_R, - Operator_Toe_Roll_1_R, - Operator_Toe_1_FK_R, - Operator_Toe_Roll_2_R, - Operator_Foot_R, - Operator_Foot_Roll_Ctrl_R, - Operator_Toe_Big_Ctrl_R, - Operator_Toe_Big_2_R, - Operator_Toe_Big_3_R, - Operator_Toe_Big_IK_R, - Operator_Toe_Ind_Ctrl_R, - Operator_Toe_Ind_2_R, - Operator_Toe_Ind_3_R, - Operator_Toe_Ind_4_R, - Operator_Toe_Ind_IK_R, - Operator_Toe_Mid_Ctrl_R, - Operator_Toe_Mid_2_R, - Operator_Toe_Mid_3_R, - Operator_Toe_Mid_4_R, - Operator_Toe_Mid_IK_R, - Operator_Toe_Fourth_Ctrl_R, - Operator_Toe_Fourth_2_R, - Operator_Toe_Fourth_3_R, - Operator_Toe_Fourth_4_R, - Operator_Toe_Fourth_IK_R, - Operator_Toe_Lit_Ctrl_R, - Operator_Toe_Lit_2_R, - Operator_Toe_Lit_3_R, - Operator_Toe_Lit_IK_R, - Operator_Toes_Spread_R, - Operator_Toes_IK_Ctrl_Mid_R, - Operator_Toes_IK_Ctrl_R, - Operator_Sole_Ctrl_R, - Operator_Sole_Pivot_Point_R, - Operator_Master, - Operator_Master_Pivot_Point, - Operator_Look, - Operator_Look_L, - Operator_Look_R, + Operator_Toe_Ind_2_L, + Operator_Toe_Ind_3_L, + Operator_Toe_Ind_4_L, + Operator_Toe_Ind_IK_L, + Operator_Toe_Mid_Ctrl_L, + Operator_Toe_Mid_2_L, + Operator_Toe_Mid_3_L, + Operator_Toe_Mid_4_L, + Operator_Toe_Mid_IK_L, + Operator_Toe_Fourth_Ctrl_L, + Operator_Toe_Fourth_2_L, + Operator_Toe_Fourth_3_L, + Operator_Toe_Fourth_4_L, + Operator_Toe_Fourth_IK_L, + Operator_Toe_Lit_Ctrl_L, + Operator_Toe_Lit_2_L, + Operator_Toe_Lit_3_L, + Operator_Toe_Lit_IK_L, + Operator_Toes_Spread_L, + Operator_Toes_IK_Ctrl_Mid_L, + Operator_Toes_IK_Ctrl_L, + Operator_Sole_Ctrl_L, + Operator_Sole_Pivot_Point_L, + Operator_Toe_2_FK_R, + Operator_Toe_Roll_1_R, + Operator_Toe_1_FK_R, + Operator_Toe_Roll_2_R, + Operator_Foot_R, + Operator_Foot_Roll_Ctrl_R, + Operator_Toe_Big_Ctrl_R, + Operator_Toe_Big_2_R, + Operator_Toe_Big_3_R, + Operator_Toe_Big_IK_R, + Operator_Toe_Ind_Ctrl_R, + Operator_Toe_Ind_2_R, + Operator_Toe_Ind_3_R, + Operator_Toe_Ind_4_R, + Operator_Toe_Ind_IK_R, + Operator_Toe_Mid_Ctrl_R, + Operator_Toe_Mid_2_R, + Operator_Toe_Mid_3_R, + Operator_Toe_Mid_4_R, + Operator_Toe_Mid_IK_R, + Operator_Toe_Fourth_Ctrl_R, + Operator_Toe_Fourth_2_R, + Operator_Toe_Fourth_3_R, + Operator_Toe_Fourth_4_R, + Operator_Toe_Fourth_IK_R, + Operator_Toe_Lit_Ctrl_R, + Operator_Toe_Lit_2_R, + Operator_Toe_Lit_3_R, + Operator_Toe_Lit_IK_R, + Operator_Toes_Spread_R, + Operator_Toes_IK_Ctrl_Mid_R, + Operator_Toes_IK_Ctrl_R, + Operator_Sole_Ctrl_R, + Operator_Sole_Pivot_Point_R, + Operator_Master, + Operator_Master_Pivot_Point, + Operator_Look, + Operator_Look_L, + Operator_Look_R, Operator_Zoom_Selected - ] +] body_picker_quadruped_classes = [ - Operator_Ankle_Toon_L, - Operator_Carpal_FK_L, - Operator_Carpal_IK_L, - Operator_Carpal_Toon_L, - Operator_Ankle_Toon_R, - Operator_Carpal_FK_R, - Operator_Carpal_IK_R, - Operator_Carpal_Toon_R, - Operator_Hock_Toon_L, - Operator_Tarsal_FK_L, - Operator_Tarsal_IK_L, - Operator_Tarsal_Toon_L, - Operator_Hock_Toon_R, - Operator_Tarsal_FK_R, + Operator_Ankle_Toon_L, + Operator_Carpal_FK_L, + Operator_Carpal_IK_L, + Operator_Carpal_Toon_L, + Operator_Ankle_Toon_R, + Operator_Carpal_FK_R, + Operator_Carpal_IK_R, + Operator_Carpal_Toon_R, + Operator_Hock_Toon_L, + Operator_Tarsal_FK_L, + Operator_Tarsal_IK_L, + Operator_Tarsal_Toon_L, + Operator_Hock_Toon_R, + Operator_Tarsal_FK_R, Operator_Tarsal_IK_R, - Operator_Tarsal_Toon_R, - Operator_Fing_2_FK_L, - Operator_Fing_1_FK_L, - Operator_Fing_Roll_2_L, - Operator_Fing_Roll_1_L, - Operator_Hand_L, - Operator_Hand_Roll_Ctrl_L, - Operator_Hand_Sole_Ctrl_L, - Operator_Hand_Sole_Pivot_Point_L, - Operator_Fing_2_FK_R, - Operator_Fing_1_FK_R, - Operator_Fing_Roll_2_R, - Operator_Fing_Roll_1_R, - Operator_Hand_R, - Operator_Hand_Roll_Ctrl_R, - Operator_Hand_Sole_Ctrl_R, + Operator_Tarsal_Toon_R, + Operator_Fing_2_FK_L, + Operator_Fing_1_FK_L, + Operator_Fing_Roll_2_L, + Operator_Fing_Roll_1_L, + Operator_Hand_L, + Operator_Hand_Roll_Ctrl_L, + Operator_Hand_Sole_Ctrl_L, + Operator_Hand_Sole_Pivot_Point_L, + Operator_Fing_2_FK_R, + Operator_Fing_1_FK_R, + Operator_Fing_Roll_2_R, + Operator_Fing_Roll_1_R, + Operator_Hand_R, + Operator_Hand_Roll_Ctrl_R, + Operator_Hand_Sole_Ctrl_R, Operator_Hand_Sole_Pivot_Point_R - ] +] face_picker_classes = [ Operator_Ear_Up_R, @@ -1751,51 +1741,74 @@ face_picker_classes = [ Operator_Tongue_2_IK, Operator_Tongue_3_IK, Operator_Tongue_Mstr - ] +] blenrig_rigs_classes = [ Operator_BlenRig5_Add_Biped - ] +] + +addon_dependencies = ["space_view3d_copy_attributes"] + def register(): + + # load dependency add-ons + import addon_utils + for addon_id in addon_dependencies: + default_state, loaded_state = addon_utils.check(addon_id) + if not loaded_state: + addon_utils.enable(addon_id, default_set=False, persistent=True) + + # load BlenRig internal classes for c in armature_classes: bpy.utils.register_class(c) for c in alignment_classes: bpy.utils.register_class(c) for c in snapping_classes: - bpy.utils.register_class(c) + bpy.utils.register_class(c) for c in body_picker_biped_classes: - bpy.utils.register_class(c) + bpy.utils.register_class(c) for c in body_picker_quadruped_classes: - bpy.utils.register_class(c) + bpy.utils.register_class(c) for c in face_picker_classes: - bpy.utils.register_class(c) + bpy.utils.register_class(c) for c in blenrig_rigs_classes: - bpy.utils.register_class(c) - # BlenRig Props + bpy.utils.register_class(c) + + # BlenRig Props bpy.types.WindowManager.blenrig_5_props = bpy.props.PointerProperty(type = Blenrig_5_Props) # BlenRig Object Add Panel bpy.types.INFO_MT_armature_add.append(blenrig5_add_menu_func) - + def unregister(): + + # BlenRig Props + del bpy.types.WindowManager.blenrig_5_props + # BlenRig Object Add Panel + bpy.types.INFO_MT_armature_add.remove(blenrig5_add_menu_func) + + # unload BlenRig internal classes for c in armature_classes: bpy.utils.unregister_class(c) for c in alignment_classes: bpy.utils.unregister_class(c) for c in snapping_classes: - bpy.utils.unregister_class(c) + bpy.utils.unregister_class(c) for c in body_picker_biped_classes: - bpy.utils.unregister_class(c) + bpy.utils.unregister_class(c) for c in body_picker_quadruped_classes: - bpy.utils.unregister_class(c) + bpy.utils.unregister_class(c) for c in face_picker_classes: - bpy.utils.unregister_class(c) + bpy.utils.unregister_class(c) for c in blenrig_rigs_classes: - bpy.utils.unregister_class(c) - # BlenRig Object Add Panel - bpy.types.INFO_MT_armature_add.remove(blenrig5_add_menu_func) - + bpy.utils.unregister_class(c) + + # unload add-on dependencies + import addon_utils + for addon_id in addon_dependencies: + addon_utils.disable(addon_id, default_set=False) + if __name__ == "__main__": - register() \ No newline at end of file + register()