[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26982] trunk/blender/release/scripts/op/ object_align.py: Align Object op: ignore objects other than Mesh type

Daniel Salazar zanqdo at gmail.com
Wed Feb 17 09:57:40 CET 2010


Revision: 26982
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26982
Author:   zanqdo
Date:     2010-02-17 09:57:40 +0100 (Wed, 17 Feb 2010)

Log Message:
-----------
Align Object op: ignore objects other than Mesh type

Modified Paths:
--------------
    trunk/blender/release/scripts/op/object_align.py

Modified: trunk/blender/release/scripts/op/object_align.py
===================================================================
--- trunk/blender/release/scripts/op/object_align.py	2010-02-16 23:51:49 UTC (rev 26981)
+++ trunk/blender/release/scripts/op/object_align.py	2010-02-17 08:57:40 UTC (rev 26982)
@@ -32,57 +32,58 @@
     flag_first = True
     
     for obj in bpy.context.selected_objects:
+        if obj.type == 'MESH':
             
-        bb_world = [obj.matrix * Vector(v[:]) for v in obj.bound_box]
-        
-        Left_Up_Front = bb_world[1]
-        Right_Down_Back = bb_world[7]
-
-        # Active Center
-
-        if obj == bpy.context.active_object:
+            bb_world = [obj.matrix * Vector(v[:]) for v in obj.bound_box]
             
-            center_active_x = ( Left_Up_Front[0] + Right_Down_Back[0] ) / 2
-            center_active_y = ( Left_Up_Front[1] + Right_Down_Back[1] ) / 2
-            center_active_z = ( Left_Up_Front[2] + Right_Down_Back[2] ) / 2
-
-            size_active_x = ( Right_Down_Back[0] -  Left_Up_Front[0] ) / 2
-            size_active_y = ( Right_Down_Back[1] - Left_Up_Front[1] ) / 2
-            size_active_z = ( Left_Up_Front[2] - Right_Down_Back[2] ) / 2
-
-        # Selection Center
-
-        if flag_first:
-            flag_first = False
+            Left_Up_Front = bb_world[1]
+            Right_Down_Back = bb_world[7]
     
-            Left_Up_Front_SEL[0] = Left_Up_Front[0]
-            Left_Up_Front_SEL[1] = Left_Up_Front[1]
-            Left_Up_Front_SEL[2] = Left_Up_Front[2]
+            # Active Center
     
-            Right_Down_Back_SEL[0] = Right_Down_Back[0]
-            Right_Down_Back_SEL[1] = Right_Down_Back[1]
-            Right_Down_Back_SEL[2] = Right_Down_Back[2]
+            if obj == bpy.context.active_object:
+                
+                center_active_x = ( Left_Up_Front[0] + Right_Down_Back[0] ) / 2
+                center_active_y = ( Left_Up_Front[1] + Right_Down_Back[1] ) / 2
+                center_active_z = ( Left_Up_Front[2] + Right_Down_Back[2] ) / 2
     
-        else:
-            # X axis
-            if Left_Up_Front[0] < Left_Up_Front_SEL[0]:
+                size_active_x = ( Right_Down_Back[0] -  Left_Up_Front[0] ) / 2
+                size_active_y = ( Right_Down_Back[1] - Left_Up_Front[1] ) / 2
+                size_active_z = ( Left_Up_Front[2] - Right_Down_Back[2] ) / 2
+    
+            # Selection Center
+    
+            if flag_first:
+                flag_first = False
+        
                 Left_Up_Front_SEL[0] = Left_Up_Front[0]
-            # Y axis
-            if Left_Up_Front[1] < Left_Up_Front_SEL[1]:
                 Left_Up_Front_SEL[1] = Left_Up_Front[1]
-            # Z axis
-            if Left_Up_Front[2] > Left_Up_Front_SEL[2]:
                 Left_Up_Front_SEL[2] = Left_Up_Front[2]
-    
-            # X axis
-            if Right_Down_Back[0] > Right_Down_Back_SEL[0]:
+        
                 Right_Down_Back_SEL[0] = Right_Down_Back[0]
-            # Y axis
-            if Right_Down_Back[1] > Right_Down_Back_SEL[1]:
                 Right_Down_Back_SEL[1] = Right_Down_Back[1]
-            # Z axis
-            if Right_Down_Back[2] < Right_Down_Back_SEL[2]:
                 Right_Down_Back_SEL[2] = Right_Down_Back[2]
+        
+            else:
+                # X axis
+                if Left_Up_Front[0] < Left_Up_Front_SEL[0]:
+                    Left_Up_Front_SEL[0] = Left_Up_Front[0]
+                # Y axis
+                if Left_Up_Front[1] < Left_Up_Front_SEL[1]:
+                    Left_Up_Front_SEL[1] = Left_Up_Front[1]
+                # Z axis
+                if Left_Up_Front[2] > Left_Up_Front_SEL[2]:
+                    Left_Up_Front_SEL[2] = Left_Up_Front[2]
+        
+                # X axis
+                if Right_Down_Back[0] > Right_Down_Back_SEL[0]:
+                    Right_Down_Back_SEL[0] = Right_Down_Back[0]
+                # Y axis
+                if Right_Down_Back[1] > Right_Down_Back_SEL[1]:
+                    Right_Down_Back_SEL[1] = Right_Down_Back[1]
+                # Z axis
+                if Right_Down_Back[2] < Right_Down_Back_SEL[2]:
+                    Right_Down_Back_SEL[2] = Right_Down_Back[2]
     
     center_sel_x = ( Left_Up_Front_SEL[0] + Right_Down_Back_SEL[0] ) / 2
     center_sel_y = ( Left_Up_Front_SEL[1] + Right_Down_Back_SEL[1] ) / 2
@@ -91,141 +92,142 @@
     # Main Loop
 
     for obj in bpy.context.selected_objects:
+        if obj.type == 'MESH':
         
-        loc_world = obj.location
-        bb_world = [obj.matrix * Vector(v[:]) for v in obj.bound_box]
-    
-        Left_Up_Front = bb_world[1]
-        Right_Down_Back = bb_world[7]
-    
-        center_x = ( Left_Up_Front[0] + Right_Down_Back[0] ) / 2
-        center_y = ( Left_Up_Front[1] + Right_Down_Back[1] ) / 2
-        center_z = ( Left_Up_Front[2] + Right_Down_Back[2] ) / 2
+            loc_world = obj.location
+            bb_world = [obj.matrix * Vector(v[:]) for v in obj.bound_box]
         
-        positive_x = Right_Down_Back[0]
-        positive_y = Right_Down_Back[1]
-        positive_z = Left_Up_Front[2]
+            Left_Up_Front = bb_world[1]
+            Right_Down_Back = bb_world[7]
         
-        negative_x = Left_Up_Front[0]
-        negative_y = Left_Up_Front[1]
-        negative_z = Right_Down_Back[2]
-
-        obj_loc = obj.location
+            center_x = ( Left_Up_Front[0] + Right_Down_Back[0] ) / 2
+            center_y = ( Left_Up_Front[1] + Right_Down_Back[1] ) / 2
+            center_z = ( Left_Up_Front[2] + Right_Down_Back[2] ) / 2
+            
+            positive_x = Right_Down_Back[0]
+            positive_y = Right_Down_Back[1]
+            positive_z = Left_Up_Front[2]
+            
+            negative_x = Left_Up_Front[0]
+            negative_y = Left_Up_Front[1]
+            negative_z = Right_Down_Back[2]
     
-        if align_x:
-
-            # Align Mode
-
-            if relative_to == 'OPT_4': # Active relative
-                if align_mode == 'OPT_1':
-                    obj_x = obj_loc[0] - negative_x - size_active_x
+            obj_loc = obj.location
+        
+            if align_x:
+    
+                # Align Mode
+    
+                if relative_to == 'OPT_4': # Active relative
+                    if align_mode == 'OPT_1':
+                        obj_x = obj_loc[0] - negative_x - size_active_x
+                    
+                    elif align_mode == 'OPT_3':
+                        obj_x = obj_loc[0] - positive_x + size_active_x
                 
-                elif align_mode == 'OPT_3':
-                    obj_x = obj_loc[0] - positive_x + size_active_x
-            
-            else: # Everything else relative
-                if align_mode == 'OPT_1':
-                    obj_x = obj_loc[0] - negative_x
+                else: # Everything else relative
+                    if align_mode == 'OPT_1':
+                        obj_x = obj_loc[0] - negative_x
+                    
+                    elif align_mode == 'OPT_3':
+                        obj_x = obj_loc[0] - positive_x
+    
+                if align_mode == 'OPT_2': # All relative
+                    obj_x = obj_loc[0] - center_x
+    
+                # Relative To
+    
+                if relative_to == 'OPT_1':
+                    loc_x = obj_x
                 
-                elif align_mode == 'OPT_3':
-                    obj_x = obj_loc[0] - positive_x
-
-            if align_mode == 'OPT_2': # All relative
-                obj_x = obj_loc[0] - center_x
-
-            # Relative To
-
-            if relative_to == 'OPT_1':
-                loc_x = obj_x
-            
-            elif relative_to == 'OPT_2':
-                loc_x = obj_x + cursor[0]
-            
-            elif relative_to == 'OPT_3':
-                loc_x = obj_x + center_sel_x
-
-            elif relative_to == 'OPT_4':
-                loc_x = obj_x + center_active_x
-            
-            obj.location[0] = loc_x
-
-
-        if align_y:
-
-            # Align Mode
-
-            if relative_to == 'OPT_4': # Active relative
-                if align_mode == 'OPT_1':
-                    obj_y = obj_loc[1] - negative_y - size_active_y
+                elif relative_to == 'OPT_2':
+                    loc_x = obj_x + cursor[0]
                 
-                elif align_mode == 'OPT_3':
-                    obj_y = obj_loc[1] - positive_y + size_active_y
-            
-            else: # Everything else relative
-                if align_mode == 'OPT_1':
-                    obj_y = obj_loc[1] - negative_y
+                elif relative_to == 'OPT_3':
+                    loc_x = obj_x + center_sel_x
+    
+                elif relative_to == 'OPT_4':
+                    loc_x = obj_x + center_active_x
                 
-                elif align_mode == 'OPT_3':
-                    obj_y = obj_loc[1] - positive_y
-
-            if align_mode == 'OPT_2': # All relative
-                obj_y = obj_loc[1] - center_y
-
-            # Relative To
-
-            if relative_to == 'OPT_1':
-                loc_y = obj_y
-            
-            elif relative_to == 'OPT_2':
-                loc_y = obj_y + cursor[1]
-            
-            elif relative_to == 'OPT_3':
-                loc_y = obj_y + center_sel_y
-
-            elif relative_to == 'OPT_4':
-                loc_y = obj_y + center_active_y
-            
-            obj.location[1] = loc_y
-
-
-        if align_z:
-
-            # Align Mode
-
-            if relative_to == 'OPT_4': # Active relative
-                if align_mode == 'OPT_1':
-                    obj_z = obj_loc[2] - negative_z - size_active_z
+                obj.location[0] = loc_x
+    
+    
+            if align_y:
+    
+                # Align Mode
+    
+                if relative_to == 'OPT_4': # Active relative
+                    if align_mode == 'OPT_1':
+                        obj_y = obj_loc[1] - negative_y - size_active_y
+                    
+                    elif align_mode == 'OPT_3':
+                        obj_y = obj_loc[1] - positive_y + size_active_y
                 
-                elif align_mode == 'OPT_3':
-                    obj_z = obj_loc[2] - positive_z + size_active_z
-            
-            else: # Everything else relative
-                if align_mode == 'OPT_1':
-                    obj_z = obj_loc[2] - negative_z

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list