forked from bartvdbraak/blender
7484d5b743
- Visual Location Keying Set was still using the old-style flag defines
226 lines
5.8 KiB
Python
226 lines
5.8 KiB
Python
# 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.
|
|
|
|
import bpy
|
|
from keyingsets_utils import *
|
|
|
|
###############################
|
|
# Built-In KeyingSets
|
|
|
|
# Location
|
|
class BUILTIN_KSI_Location(bpy.types.KeyingSetInfo):
|
|
bl_label = "Location"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for location
|
|
generate = RKS_GEN_location
|
|
|
|
# Rotation
|
|
class BUILTIN_KSI_Rotation(bpy.types.KeyingSetInfo):
|
|
bl_label = "Rotation"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for location
|
|
generate = RKS_GEN_rotation
|
|
|
|
# Scale
|
|
class BUILTIN_KSI_Scaling(bpy.types.KeyingSetInfo):
|
|
bl_label = "Scaling"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for location
|
|
generate = RKS_GEN_scaling
|
|
|
|
# ------------
|
|
|
|
# LocRot
|
|
class BUILTIN_KSI_LocRot(bpy.types.KeyingSetInfo):
|
|
bl_label = "LocRot"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator
|
|
def generate(self, context, ks, data):
|
|
# location
|
|
RKS_GEN_location(self, context, ks, data)
|
|
# rotation
|
|
RKS_GEN_rotation(self, context, ks, data)
|
|
|
|
# LocScale
|
|
class BUILTIN_KSI_LocScale(bpy.types.KeyingSetInfo):
|
|
bl_label = "LocScale"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator
|
|
def generate(self, context, ks, data):
|
|
# location
|
|
RKS_GEN_location(self, context, ks, data)
|
|
# scale
|
|
RKS_GEN_scaling(self, context, ks, data)
|
|
|
|
# LocRotScale
|
|
class BUILTIN_KSI_LocRotScale(bpy.types.KeyingSetInfo):
|
|
bl_label = "LocRotScale"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator
|
|
def generate(self, context, ks, data):
|
|
# location
|
|
RKS_GEN_location(self, context, ks, data)
|
|
# rotation
|
|
RKS_GEN_rotation(self, context, ks, data)
|
|
# scale
|
|
RKS_GEN_scaling(self, context, ks, data)
|
|
|
|
# RotScale
|
|
class BUILTIN_KSI_RotScale(bpy.types.KeyingSetInfo):
|
|
bl_label = "RotScale"
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator
|
|
def generate(self, context, ks, data):
|
|
# rotation
|
|
RKS_GEN_rotation(self, context, ks, data)
|
|
# scaling
|
|
RKS_GEN_scaling(self, context, ks, data)
|
|
|
|
# ------------
|
|
|
|
# Location
|
|
class BUILTIN_KSI_VisualLoc(bpy.types.KeyingSetInfo):
|
|
bl_label = "Visual Location"
|
|
|
|
bl_options = {'INSERTKEY_VISUAL'}
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for location
|
|
generate = RKS_GEN_location
|
|
|
|
# Rotation
|
|
class BUILTIN_KSI_VisualRot(bpy.types.KeyingSetInfo):
|
|
bl_label = "Visual Rotation"
|
|
|
|
bl_options = {'INSERTKEY_VISUAL'}
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for rotation
|
|
generate = RKS_GEN_rotation
|
|
|
|
# VisualLocRot
|
|
class BUILTIN_KSI_VisualLocRot(bpy.types.KeyingSetInfo):
|
|
bl_label = "Visual LocRot"
|
|
|
|
bl_options = {'INSERTKEY_VISUAL'}
|
|
|
|
# poll - use predefined callback for selected bones/objects
|
|
poll = RKS_POLL_selected_items
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator
|
|
def generate(self, context, ks, data):
|
|
# location
|
|
RKS_GEN_location(self, context, ks, data)
|
|
# rotation
|
|
RKS_GEN_rotation(self, context, ks, data)
|
|
|
|
# ------------
|
|
|
|
# Available
|
|
class BUILTIN_KSI_Available(bpy.types.KeyingSetInfo):
|
|
bl_label = "Available"
|
|
|
|
# poll - use predefined callback for selected objects
|
|
# TODO: this should really check whether the selected object (or datablock)
|
|
# has any animation data defined yet
|
|
poll = RKS_POLL_selected_objects
|
|
|
|
# iterator - use callback for selected bones/objects
|
|
iterator = RKS_ITER_selected_item
|
|
|
|
# generator - use callback for doing this
|
|
generate = RKS_GEN_available
|
|
|
|
###############################
|
|
|
|
classes = [
|
|
BUILTIN_KSI_Location,
|
|
BUILTIN_KSI_Rotation,
|
|
BUILTIN_KSI_Scaling,
|
|
|
|
BUILTIN_KSI_LocRot,
|
|
BUILTIN_KSI_LocScale,
|
|
BUILTIN_KSI_LocRotScale,
|
|
BUILTIN_KSI_RotScale,
|
|
|
|
BUILTIN_KSI_VisualLoc,
|
|
BUILTIN_KSI_VisualRot,
|
|
BUILTIN_KSI_VisualLocRot,
|
|
|
|
BUILTIN_KSI_Available,
|
|
]
|
|
|
|
|
|
def register():
|
|
register = bpy.types.register
|
|
for cls in classes:
|
|
register(cls)
|
|
|
|
|
|
def unregister():
|
|
unregister = bpy.types.unregister
|
|
for cls in classes:
|
|
unregister(cls)
|
|
|
|
if __name__ == "__main__":
|
|
register()
|
|
|
|
###############################
|