def _sided_rotation_locks(self, finger_number, armature_object): bpy.ops.object.mode_set(mode='POSE', toggle=False) for segment_number in [1, 2, 3]: locks = {} if finger_number == 1: if segment_number == 1: locks = _ROTATION_LOCKS["thumb_first_segment"] else: locks = _ROTATION_LOCKS["thumb_following_segments"] else: if segment_number == 1: locks = _ROTATION_LOCKS["thumb_first_segment"] else: locks = _ROTATION_LOCKS["thumb_following_segments"] x = "X" in locks and locks["X"] y = "Y" in locks and locks["Y"] z = "Z" in locks and locks["Z"] name = self._sided("finger" + str(finger_number) + "-" + str(segment_number)) RigService.add_ik_rotation_lock_to_pose_bone(name, armature_object, lock_x=x, lock_y=y, lock_z=z)
def _sided_rotation_lock(self, unsided_name, armature_object): bpy.ops.object.mode_set(mode='POSE', toggle=False) if unsided_name in _ROTATION_LOCKS: locks = _ROTATION_LOCKS[unsided_name] x = "X" in locks and _ROTATION_LOCKS[unsided_name]["X"] y = "Y" in locks and _ROTATION_LOCKS[unsided_name]["Y"] z = "Z" in locks and _ROTATION_LOCKS[unsided_name]["Z"] name = self._sided(unsided_name) RigService.add_ik_rotation_lock_to_pose_bone(name, armature_object, lock_x=x, lock_y=y, lock_z=z)