[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4277] trunk/py/scripts/addons/rigify: Bunch of bug fixes.
Nathan Vegdahl
cessen at cessen.com
Fri Feb 15 16:14:24 CET 2013
Revision: 4277
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4277
Author: cessen
Date: 2013-02-15 15:14:24 +0000 (Fri, 15 Feb 2013)
Log Message:
-----------
Bunch of bug fixes.
The biggest fixes relate to keeping ID data modification out of
draw methods. This was breaking Rigify with the current API.
Secondary fix was to move widget meshes to match the bones, even
if the widget meshes already exist. It's nice for when the user
is progressively tweaking the metarig.
Modified Paths:
--------------
trunk/py/scripts/addons/rigify/__init__.py
trunk/py/scripts/addons/rigify/generate.py
trunk/py/scripts/addons/rigify/metarigs/human.py
trunk/py/scripts/addons/rigify/rigs/basic/copy.py
trunk/py/scripts/addons/rigify/rigs/basic/copy_chain.py
trunk/py/scripts/addons/rigify/rigs/biped/arm/__init__.py
trunk/py/scripts/addons/rigify/rigs/biped/leg/__init__.py
trunk/py/scripts/addons/rigify/rigs/finger.py
trunk/py/scripts/addons/rigify/rigs/misc/delta.py
trunk/py/scripts/addons/rigify/rigs/neck_short.py
trunk/py/scripts/addons/rigify/rigs/palm.py
trunk/py/scripts/addons/rigify/rigs/spine.py
trunk/py/scripts/addons/rigify/ui.py
trunk/py/scripts/addons/rigify/utils.py
Modified: trunk/py/scripts/addons/rigify/__init__.py
===================================================================
--- trunk/py/scripts/addons/rigify/__init__.py 2013-02-15 10:46:36 UTC (rev 4276)
+++ trunk/py/scripts/addons/rigify/__init__.py 2013-02-15 15:14:24 UTC (rev 4277)
@@ -131,7 +131,7 @@
bpy.utils.register_class(RigifyArmatureLayer)
bpy.types.PoseBone.rigify_type = bpy.props.StringProperty(name="Rigify Type", description="Rig type for this bone")
- bpy.types.PoseBone.rigify_parameters = bpy.props.CollectionProperty(type=RigifyParameters)
+ bpy.types.PoseBone.rigify_parameters = bpy.props.PointerProperty(type=RigifyParameters)
bpy.types.Armature.rigify_layers = bpy.props.CollectionProperty(type=RigifyArmatureLayer)
Modified: trunk/py/scripts/addons/rigify/generate.py
===================================================================
--- trunk/py/scripts/addons/rigify/generate.py 2013-02-15 10:46:36 UTC (rev 4276)
+++ trunk/py/scripts/addons/rigify/generate.py 2013-02-15 15:14:24 UTC (rev 4277)
@@ -157,17 +157,15 @@
# rigify_type and rigify_parameters
bone_gen.rigify_type = bone.rigify_type
- if len(bone.rigify_parameters) > 0:
- bone_gen.rigify_parameters.add()
- for prop in dir(bone_gen.rigify_parameters[0]):
- if (not prop.startswith("_")) \
- and (not prop.startswith("bl_")) \
- and (prop != "rna_type"):
- try:
- setattr(bone_gen.rigify_parameters[0], prop, \
- getattr(bone.rigify_parameters[0], prop))
- except AttributeError:
- print("FAILED TO COPY PARAMETER: " + str(prop))
+ for prop in dir(bone_gen.rigify_parameters):
+ if (not prop.startswith("_")) \
+ and (not prop.startswith("bl_")) \
+ and (prop != "rna_type"):
+ try:
+ setattr(bone_gen.rigify_parameters, prop, \
+ getattr(bone.rigify_parameters, prop))
+ except AttributeError:
+ print("FAILED TO COPY PARAMETER: " + str(prop))
# Custom properties
for prop in bone.keys():
@@ -412,10 +410,7 @@
pass
else:
# Gather parameters
- try:
- params = obj.pose.bones[bone_name].rigify_parameters[0]
- except (KeyError, IndexError):
- params = None
+ params = obj.pose.bones[bone_name].rigify_parameters
# Get the rig
try:
Modified: trunk/py/scripts/addons/rigify/metarigs/human.py
===================================================================
--- trunk/py/scripts/addons/rigify/metarigs/human.py 2013-02-15 10:46:36 UTC (rev 4276)
+++ trunk/py/scripts/addons/rigify/metarigs/human.py 2013-02-15 15:14:24 UTC (rev 4277)
@@ -500,8 +500,7 @@
bpy.ops.object.mode_set(mode='OBJECT')
pbone = obj.pose.bones[bones['hips']]
pbone.rigify_type = 'spine'
- pbone.rigify_parameters.add()
- pbone.rigify_parameters[0].chain_bone_controls = "1, 2, 3"
+ pbone.rigify_parameters.chain_bone_controls = "1, 2, 3"
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@@ -524,13 +523,12 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
try:
- pbone.rigify_parameters[0].separate_ik_layers = True
+ pbone.rigify_parameters.separate_ik_layers = True
except AttributeError:
pass
try:
- pbone.rigify_parameters[0].ik_layers = [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
+ pbone.rigify_parameters.ik_layers = [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.R']]
@@ -541,13 +539,12 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
try:
- pbone.rigify_parameters[0].separate_ik_layers = True
+ pbone.rigify_parameters.separate_ik_layers = True
except AttributeError:
pass
try:
- pbone.rigify_parameters[0].ik_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
+ pbone.rigify_parameters.ik_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
pbone = obj.pose.bones[bones['ribs']]
@@ -590,7 +587,6 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'YXZ'
pbone.bone.layers = [True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
pbone = obj.pose.bones[bones['shoulder.R']]
pbone.rigify_type = 'basic.copy'
pbone.lock_location = (True, True, True)
@@ -599,7 +595,6 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'YXZ'
pbone.bone.layers = [True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
pbone = obj.pose.bones[bones['foot.L']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@@ -664,13 +659,12 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
try:
- pbone.rigify_parameters[0].separate_ik_layers = True
+ pbone.rigify_parameters.separate_ik_layers = True
except AttributeError:
pass
try:
- pbone.rigify_parameters[0].ik_layers = [False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
+ pbone.rigify_parameters.ik_layers = [False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
pbone = obj.pose.bones[bones['upper_arm.R']]
@@ -681,13 +675,12 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
try:
- pbone.rigify_parameters[0].separate_ik_layers = True
+ pbone.rigify_parameters.separate_ik_layers = True
except AttributeError:
pass
try:
- pbone.rigify_parameters[0].ik_layers = [False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
+ pbone.rigify_parameters.ik_layers = [False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
pbone = obj.pose.bones[bones['toe.L']]
@@ -746,7 +739,6 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'YXZ'
pbone.bone.layers = [False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
pbone = obj.pose.bones[bones['palm.02.L']]
pbone.rigify_type = ''
pbone.lock_location = (True, True, True)
@@ -779,7 +771,6 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'YXZ'
pbone.bone.layers = [False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
- pbone.rigify_parameters.add()
pbone = obj.pose.bones[bones['palm.02.R']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@@ -812,13 +803,12 @@
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list