[Bf-extensions-cvs] [e6a1dfbe] master: animation_animall: move to contrib: T63750
meta-androcto
noreply at git.blender.org
Fri May 24 02:26:05 CEST 2019
Commit: e6a1dfbe53bec6795102f76b629cb4771199fdb9
Author: meta-androcto
Date: Fri May 24 10:25:44 2019 +1000
Branches: master
https://developer.blender.org/rBAe6a1dfbe53bec6795102f76b629cb4771199fdb9
animation_animall: move to contrib: T63750
===================================================================
D animation_animall.py
===================================================================
diff --git a/animation_animall.py b/animation_animall.py
deleted file mode 100644
index d6c58cd0..00000000
--- a/animation_animall.py
+++ /dev/null
@@ -1,549 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-bl_info = {
- "name": "AnimAll",
- "author": "Daniel Salazar <zanqdo at gmail.com>",
- "version": (0, 8, 1),
- "blender": (2, 73, 0),
- "location": "Tool bar > Animation tab > AnimAll",
- "description": "Allows animation of mesh, lattice, curve and surface data",
- "warning": "",
- "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
- "Scripts/Animation/AnimAll",
- "category": "Animation",
-}
-
-"""
-Thanks to Campbell Barton and Joshua Leung for hes API additions and fixes
-Daniel 'ZanQdo' Salazar
-"""
-
-import bpy
-from bpy.types import (
- Operator,
- Panel,
- AddonPreferences,
- )
-from bpy.props import (
- BoolProperty,
- StringProperty,
- )
-
-
-# Property Definitions
-
-bpy.types.WindowManager.key_shape = BoolProperty(
- name="Shape",
- description="Insert keyframes on active Shape Key layer",
- default=False
- )
-bpy.types.WindowManager.key_uvs = BoolProperty(
- name="UVs",
- description="Insert keyframes on active UV coordinates",
- default=False
- )
-bpy.types.WindowManager.key_ebevel = BoolProperty(
- name="E-Bevel",
- description="Insert keyframes on edge bevel weight",
- default=False
- )
-bpy.types.WindowManager.key_vbevel = BoolProperty(
- name="V-Bevel",
- description="Insert keyframes on vertex bevel weight",
- default=False
- )
-bpy.types.WindowManager.key_crease = BoolProperty(
- name="Crease",
- description="Insert keyframes on edge creases",
- default=False
- )
-bpy.types.WindowManager.key_vcols = BoolProperty(
- name="V-Cols",
- description="Insert keyframes on active Vertex Color values",
- default=False
- )
-bpy.types.WindowManager.key_vgroups = BoolProperty(
- name="V-Groups",
- description="Insert keyframes on active Vertex Group values",
- default=False
- )
-bpy.types.WindowManager.key_points = BoolProperty(
- name="Points",
- description="Insert keyframes on point locations",
- default=False
- )
-bpy.types.WindowManager.key_radius = BoolProperty(
- name="Radius",
- description="Insert keyframes on point radius (Shrink/Fatten)",
- default=False
- )
-bpy.types.WindowManager.key_tilt = BoolProperty(
- name="Tilt",
- description="Insert keyframes on point tilt",
- default=False
- )
-
-
-# Utility functions
-
-def refresh_ui_keyframes():
- try:
- for area in bpy.context.screen.areas:
- if area.type in ('TIMELINE', 'GRAPH_EDITOR', 'DOPESHEET_EDITOR'):
- area.tag_redraw()
- except:
- pass
-
-
-def insert_key(data, key):
- try:
- data.keyframe_insert(key)
- except:
- pass
-
-
-def delete_key(data, key):
- try:
- data.keyframe_delete(key)
- except:
- pass
-
-
-# GUI (Panel)
-
-class VIEW3D_PT_animall(Panel):
- bl_space_type = 'VIEW_3D'
- bl_region_type = 'TOOLS'
- bl_category = "Animation"
- bl_label = 'AnimAll'
-
- @classmethod
- def poll(self, context):
- if context.active_object and context.active_object.type in {'MESH', 'LATTICE', 'CURVE', 'SURFACE'}:
- return context.active_object.type
-
- def draw(self, context):
- Obj = context.active_object
-
- layout = self.layout
- col = layout.column(align=True)
- row = col.row()
-
- if Obj.type == 'LATTICE':
- row.prop(context.window_manager, "key_points")
- row.prop(context.window_manager, "key_shape")
-
- elif Obj.type == 'MESH':
- row.prop(context.window_manager, "key_points")
- row.prop(context.window_manager, "key_shape")
- row = col.row()
- row.prop(context.window_manager, "key_ebevel")
- row.prop(context.window_manager, "key_vbevel")
- row = col.row()
- row.prop(context.window_manager, "key_crease")
- row.prop(context.window_manager, "key_uvs")
- row = col.row()
- row.prop(context.window_manager, "key_vcols")
- row.prop(context.window_manager, "key_vgroups")
-
- elif Obj.type == 'CURVE':
- row.prop(context.window_manager, "key_points")
- row.prop(context.window_manager, "key_shape")
- row = col.row()
- row.prop(context.window_manager, "key_radius")
- row.prop(context.window_manager, "key_tilt")
-
- elif Obj.type == 'SURFACE':
- row.prop(context.window_manager, "key_points")
- row.prop(context.window_manager, "key_shape")
- row = col.row()
- row.prop(context.window_manager, "key_radius")
- row.prop(context.window_manager, "key_tilt")
-
- layout.separator()
- row = layout.row(align=True)
- row.operator("anim.insert_keyframe_animall", icon="KEY_HLT")
- row.operator("anim.delete_keyframe_animall", icon="KEY_DEHLT")
- row = layout.row()
- row.operator("anim.clear_animation_animall", icon="X")
-
- if context.window_manager.key_shape:
- ShapeKey = Obj.active_shape_key
- ShapeKeyIndex = Obj.active_shape_key_index
-
- split = layout.split()
- row = split.row()
-
- if ShapeKeyIndex > 0:
- row.label(text=ShapeKey.name, icon="SHAPEKEY_DATA")
- row.prop(ShapeKey, "value", text="")
- row.prop(Obj, "show_only_shape_key", text="")
- if ShapeKey.value < 1:
- row = layout.row()
- row.label(text='Maybe set "%s" to 1.0?' % ShapeKey.name, icon="INFO")
- elif ShapeKey:
- row.label(text="Can not key on Basis Shape", icon="ERROR")
- else:
- row.label(text="No active Shape Key", icon="ERROR")
-
- if context.window_manager.key_points and context.window_manager.key_shape:
- row = layout.row()
- row.label(text='"Points" and "Shape" are redundant?', icon="INFO")
-
-
-class ANIM_OT_insert_keyframe_animall(Operator):
- bl_label = "Insert"
- bl_idname = "anim.insert_keyframe_animall"
- bl_description = "Insert a Keyframe"
- bl_options = {'REGISTER', 'UNDO'}
-
- def invoke(self, context, event):
- self.execute(context)
-
- return {'FINISHED'}
-
- def execute(op, context):
- Obj = context.active_object
-
- if Obj.type == 'MESH':
- Mode = False
- if context.mode == 'EDIT_MESH':
- Mode = not Mode
- bpy.ops.object.editmode_toggle()
-
- Data = Obj.data
-
- if context.window_manager.key_shape:
- if Obj.active_shape_key_index > 0:
- for Vert in Obj.active_shape_key.data:
- insert_key(Vert, 'co')
-
- if context.window_manager.key_points:
- for Vert in Data.vertices:
- insert_key(Vert, 'co')
-
- if context.window_manager.key_ebevel:
- for Edge in Data.edges:
- insert_key(Edge, 'bevel_weight')
-
- if context.window_manager.key_vbevel:
- for Vert in Data.vertices:
- insert_key(Vert, 'bevel_weight')
-
- if context.window_manager.key_crease:
- for Edge in Data.edges:
- insert_key(Edge, 'crease')
-
- if context.window_manager.key_vgroups:
- for Vert in Data.vertices:
- for Group in Vert.groups:
- insert_key(Group, 'weight')
-
- if context.window_manager.key_uvs:
- for UV in Data.uv_layers.active.data:
- insert_key(UV, 'uv')
-
- if context.window_manager.key_vcols:
- for VColLayer in Data.vertex_colors:
- if VColLayer.active: # only insert in active VCol layer
- for Data in VColLayer.data:
- insert_key(Data, 'color')
-
- if Mode:
- bpy.ops.object.editmode_toggle()
-
- if Obj.type == 'LATTICE':
- Mode = False
- if context.mode != 'OBJECT':
- Mode = not Mode
- bpy.ops.object.editmode_toggle()
-
- Data = Obj.data
-
- if context.window_manager.key_shape:
- if Obj.active_shape_key_index > 0:
- for Point in Obj.active_shape_key.data:
- insert_key(Point, 'co')
-
- if context.window_manager.key_points:
- for Point in Data.points:
- insert_key(Point, 'co_deform')
-
- if Mode:
- bpy.ops.object.editmode_toggle()
-
- if Obj.type in {'CURVE', 'SURFACE'}:
- Mode = False
- if context.mode != 'OBJECT':
- Mode = not Mode
- bpy.ops.object.editmode_toggle()
-
- Data = Obj.data
-
- # run this outside the splines loop (only once)
- if context.window_manager.key_shape:
- if Obj.active_shape_key_index > 0:
- for CV in Obj.active_shape_key.data:
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list