[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39359] branches/soc-2011-pepper/release/ scripts/startup/ui_mocap.py: Added a small operator to ease mapping.
Benjy Cook
benjycook at hotmail.com
Sat Aug 13 13:09:42 CEST 2011
Revision: 39359
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39359
Author: benjycook
Date: 2011-08-13 11:09:42 +0000 (Sat, 13 Aug 2011)
Log Message:
-----------
Added a small operator to ease mapping. When used, the hierarchy mapping field is filled with the currently selected (pose) bone.
Modified Paths:
--------------
branches/soc-2011-pepper/release/scripts/startup/ui_mocap.py
Modified: branches/soc-2011-pepper/release/scripts/startup/ui_mocap.py
===================================================================
--- branches/soc-2011-pepper/release/scripts/startup/ui_mocap.py 2011-08-13 09:22:14 UTC (rev 39358)
+++ branches/soc-2011-pepper/release/scripts/startup/ui_mocap.py 2011-08-13 11:09:42 UTC (rev 39359)
@@ -283,6 +283,7 @@
row.prop(data=bone, property='foot', text='', icon='POSE_DATA')
row.label(bone.name)
row.prop_search(bone, "map", enduser_arm, "bones")
+ row.operator("mocap.selectmap", text='', icon='CURSOR').perf_bone = bone.name
label_mod = "FK"
if bone.map:
pose_bone = perf_pose_bones[bone.map]
@@ -493,8 +494,39 @@
return activeIsArmature and isinstance(performer_obj[0].data, bpy.types.Armature)
else:
return False
+
+class OBJECT_OT_SelectMapBoneButton(bpy.types.Operator):
+ '''Select a bone for faster mapping'''
+ bl_idname = "mocap.selectmap"
+ bl_label = "Select a bone for faster mapping"
+ perf_bone = bpy.props.StringProperty()
+ def execute(self, context):
+ enduser_obj = bpy.context.active_object
+ performer_obj = [obj for obj in bpy.context.selected_objects if obj != enduser_obj][0]
+ selectedBone = ""
+ for bone in enduser_obj.data.bones:
+ boneVis = bone.layers
+ for i in range(32):
+ if boneVis[i] and enduser_obj.data.layers[i]:
+ if bone.select:
+ selectedBone = bone.name
+ break
+ performer_obj.data.bones[self.perf_bone].map = selectedBone
+ return {"FINISHED"}
+
+ @classmethod
+ def poll(cls, context):
+ if context.active_object:
+ activeIsArmature = isinstance(context.active_object.data, bpy.types.Armature)
+ performer_obj = [obj for obj in context.selected_objects if obj != context.active_object]
+ if performer_obj:
+ return activeIsArmature and isinstance(performer_obj[0].data, bpy.types.Armature)
+ else:
+ return False
+
+
class OBJECT_OT_ConvertSamplesButton(bpy.types.Operator):
'''Convert active armature's sampled keyframed to beziers'''
bl_idname = "mocap.samples"
More information about the Bf-blender-cvs
mailing list