[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3451] trunk/py/scripts/addons/ animation_rotobezier.py: Requiem for Rotobezier! Long live the new masking tools!

Daniel Salazar zanqdo at gmail.com
Mon Jun 4 22:01:39 CEST 2012


Revision: 3451
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3451
Author:   zanqdo
Date:     2012-06-04 20:01:37 +0000 (Mon, 04 Jun 2012)
Log Message:
-----------
Requiem for Rotobezier! Long live the new masking tools!

Removed Paths:
-------------
    trunk/py/scripts/addons/animation_rotobezier.py

Deleted: trunk/py/scripts/addons/animation_rotobezier.py
===================================================================
--- trunk/py/scripts/addons/animation_rotobezier.py	2012-06-04 17:30:34 UTC (rev 3450)
+++ trunk/py/scripts/addons/animation_rotobezier.py	2012-06-04 20:01:37 UTC (rev 3451)
@@ -1,378 +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': 'RotoBezier',
-    'author': 'Daniel Salazar <zanqdo at gmail.com>',
-    'version': (0, 8),
-    "blender": (2, 5, 7),
-    'location': 'Select a Curve: Tool Shelf > RotoBezier Panel',
-    'description': 'Allows animation of Bezier and NURBS curves',
-    'warning': 'This script will be deleted soon. Please use AnimAll instead!',
-    'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/'\
-        'Scripts/Animation/RotoBezier',
-    'tracker_url': 'http://projects.blender.org/tracker/index.php?'\
-        'func=detail&aid=24839',
-    'category': 'Animation'}
-
-'''
--------------------------------------------------------------------------
-Thanks to Campbell Barton for his API additions and fixes
-Daniel Salazar - ZanQdo
-
-Rev 0.1 Initial release
-Rev 0.2 New make matte object tools and convenient display toggles
-Rev 0.3 Tool to clear all animation from the curve
-Rev 0.4 Moved from curve properties to toolbar
-Rev 0.5 Added pass index property
-Rev 0.6 Re-arranged UI
-Rev 0.7 Adding options for what properties to keyframe
-Rev 0.8 Allowing to key NURBS
--------------------------------------------------------------------------
-'''
-
-import bpy
-from bpy.props import *
-
-
-#
-# Property Definitions
-#
-bpy.types.WindowManager.key_points = BoolProperty(
-    name="Points",
-    description="Insert keyframes on point locations",
-    default=True)
-
-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)
-
-
-#
-# GUI (Panel)
-#
-class VIEW3D_PT_rotobezier(bpy.types.Panel):
-    bl_space_type = 'VIEW_3D'
-    bl_region_type = 'TOOLS'
-    bl_label = 'RotoBezier'
-
-    # show this addon only in the Camera-Data-Panel
-    @classmethod
-    def poll(self, context):
-        if context.active_object:
-            return context.active_object.type  == 'CURVE'
-    
-    # draw the gui
-    def draw(self, context):
-        layout = self.layout
-        
-        ob = context.active_object
-        
-        col = layout.column(align=True)
-        col.label(text="Keyframing:")
-        row = col.row()
-        row.prop(context.window_manager, "key_points")
-        row.prop(context.window_manager, "key_radius")
-        row.prop(context.window_manager, "key_tilt")
-        
-        row = col.row()
-        row.operator('curve.insert_keyframe_rotobezier', icon='KEY_HLT')
-        row.operator('curve.delete_keyframe_rotobezier', icon='KEY_DEHLT')
-
-        layout.operator('curve.clear_animation_rotobezier', icon='X')
-        
-        col = layout.column()
-        col.label(text="Display:")
-        col.operator('curve.toggle_draw_rotobezier', icon='MESH_CIRCLE')
-        
-        if context.mode == 'EDIT_CURVE':
-            col.operator('curve.toggle_handles_rotobezier', icon='CURVE_BEZCIRCLE')
-        
-        col = layout.column(align=True)
-        
-        col.label(text="Tools:")
-        row = col.row()
-        row.operator('curve.make_white_matte_rotobezier')
-        row.operator('curve.make_black_matte_rotobezier')
-        
-        layout.prop(ob, "pass_index")
-
-
-class CURVE_OT_insert_keyframe_rotobezier(bpy.types.Operator):
-    bl_label = 'Insert'
-    bl_idname = 'curve.insert_keyframe_rotobezier'
-    bl_description = 'Insert/Replace all Keyframes in current frame'
-    bl_options = {'REGISTER', 'UNDO'}
-    
-    # on mouse up:
-    def invoke(self, context, event):
-        self.execute(context)
-        return {'FINISHED'}
-    
-    @classmethod
-    def poll(cls, context):
-        return (context.active_object.type == 'CURVE')
-    
-    def execute(op, context):
-        
-        Obj = context.active_object
-        
-        Mode = False
-        if context.mode != 'OBJECT':
-            Mode = not Mode
-            bpy.ops.object.editmode_toggle()
-        Data = Obj.data
-        
-        for Spline in Data.splines:
-            if Spline.type == 'BEZIER':
-                for CV in Spline.bezier_points:
-                    if context.window_manager.key_points:
-                        CV.keyframe_insert('co')
-                        CV.keyframe_insert('handle_left')
-                        CV.keyframe_insert('handle_right')
-                    if context.window_manager.key_radius:
-                        CV.keyframe_insert('radius')
-                    if context.window_manager.key_tilt:
-                        CV.keyframe_insert('tilt')
-                    
-            elif Spline.type == 'NURBS':
-                for CV in Spline.points:
-                    if context.window_manager.key_points:
-                        CV.keyframe_insert('co')
-                    if context.window_manager.key_radius:
-                        CV.keyframe_insert('radius')
-                    if context.window_manager.key_tilt:
-                        CV.keyframe_insert('tilt')
-                        
-        if Mode:
-            bpy.ops.object.editmode_toggle()
-
-
-        return {'FINISHED'}
-
-
-class CURVE_OT_delete_keyframe_rotobezier(bpy.types.Operator):
-    bl_label = 'Delete'
-    bl_idname = 'curve.delete_keyframe_rotobezier'
-    bl_description = 'Delete all keyframes in current frame'
-    bl_options = {'REGISTER', 'UNDO'}
-    
-    # on mouse up:
-    def invoke(self, context, event):
-        self.execute(context)
-        return {'FINISHED'}
-
-    @classmethod
-    def poll(cls, context):
-        return (context.active_object.type == 'CURVE')
-
-    def execute(op, context):
-        
-        Obj = context.active_object
-
-        Mode = False
-        if context.mode != 'OBJECT':
-            Mode = not Mode
-            bpy.ops.object.editmode_toggle()
-        Data = Obj.data
-        
-        for Spline in Data.splines:
-            if Spline.type == 'BEZIER':
-                for CV in Spline.bezier_points:
-                    if context.window_manager.key_points:
-                        CV.keyframe_delete('co')
-                        CV.keyframe_delete('handle_left')
-                        CV.keyframe_delete('handle_right')
-                    if context.window_manager.key_radius:
-                        CV.keyframe_delete('radius')
-                    if context.window_manager.key_tilt:
-                        CV.keyframe_delete('tilt')
-                    
-            elif Spline.type == 'NURBS':
-                for CV in Spline.points:
-                    if context.window_manager.key_points:
-                        CV.keyframe_delete('co')
-                    if context.window_manager.key_radius:
-                        CV.keyframe_delete('radius')
-                    if context.window_manager.key_tilt:
-                        CV.keyframe_delete('tilt')
-                        
-        if Mode:
-            bpy.ops.object.editmode_toggle()
-
-        return {'FINISHED'}
-
-
-class CURVE_OT_clear_animation_rotobezier(bpy.types.Operator):
-    bl_label = 'Clear Animation'
-    bl_idname = 'curve.clear_animation_rotobezier'
-    bl_description = 'Clear all animation from the curve'
-    bl_options = {'REGISTER', 'UNDO'}
-
-    # on mouse up:
-    def invoke(self, context, event):
-        wm = context.window_manager
-        return wm.invoke_confirm(self, event)
-    
-    def execute(op, context):
-        Data = context.active_object.data
-        Data.animation_data_clear()
-        return {'FINISHED'}
-
-
-def MakeMatte (Type):
-    '''
-    Matte Material Assignment Function
-    '''
-    
-    Obj = bpy.context.active_object
-    
-    # Material
-    
-    if Type == 'White':
-        MatName = 'RotoBezier_WhiteMatte'
-        MatCol = (1,1,1)
-
-    elif Type == 'Black':
-        MatName = 'RotoBezier_BlackMatte'
-        MatCol = (0,0,0)
-
-    if bpy.data.materials.get(MatName):
-        Mat = bpy.data.materials[MatName]
-        if not Obj.material_slots:
-            bpy.ops.object.material_slot_add()
-        Obj.material_slots[0].material = Mat
-    
-    else:
-        Mat = bpy.data.materials.new(MatName)
-        Mat.diffuse_color = MatCol
-        Mat.use_shadeless = True
-        Mat.use_raytrace = False
-        Mat.use_shadows = False
-        Mat.use_cast_buffer_shadows = False
-        Mat.use_cast_approximate = False
-        
-        if not Obj.material_slots:
-            bpy.ops.object.material_slot_add()
-            
-        Obj.material_slots[0].material = Mat
-    
-    # Settings
-    Curve = Obj.data
-    
-    Curve.dimensions = '2D'
-    Curve.fill_mode = 'NONE'
-
-
-class CURVE_OT_make_white_matte_rotobezier(bpy.types.Operator):
-    bl_label = 'White Matte'
-    bl_idname = 'curve.make_white_matte_rotobezier'
-    bl_description = 'Make this curve a white matte'
-    bl_options = {'REGISTER', 'UNDO'}
-
-    # on mouse up:
-    def invoke(self, context, event):
-        self.execute(context)
-        return {'FINISHED'}
-
-    def execute(op, context):
-        MakeMatte('White')
-        return {'FINISHED'}
-
-
-class CURVE_OT_make_black_matte_rotobezier(bpy.types.Operator):
-    bl_label = 'Black Matte'
-    bl_idname = 'curve.make_black_matte_rotobezier'
-    bl_description = 'Make this curve a black matte'

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list