[Bf-extensions-cvs] [78e96f4] master: update 3d view navigation: T48482

meta-androcto noreply at git.blender.org
Sat May 28 13:12:34 CEST 2016


Commit: 78e96f45d6936eda51ad990825d4419627f34ae5
Author: meta-androcto
Date:   Sat May 28 20:52:06 2016 +1000
Branches: master
https://developer.blender.org/rBA78e96f45d6936eda51ad990825d4419627f34ae5

update 3d view navigation: T48482

===================================================================

M	space_view3d_3d_navigation.py

===================================================================

diff --git a/space_view3d_3d_navigation.py b/space_view3d_3d_navigation.py
index 5d324d6..1ef7311 100644
--- a/space_view3d_3d_navigation.py
+++ b/space_view3d_3d_navigation.py
@@ -20,12 +20,13 @@
 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # ##### END GPL LICENSE BLOCK #####
+# contributed to by: Demohero, uriel, jbelcik, meta-androcto
 
 bl_info = {
     "name": "3D Navigation",
     "author": "Demohero, uriel",
-    "version": (1, 2),
-    "blender": (2, 71, 0),
+    "version": (1, 2, 1),
+    "blender": (2, 77, 0),
     "location": "View3D > Tool Shelf > 3D Navigation Tab",
     "description": "Navigate the Camera & 3D View from the Toolshelf",
     "warning": "",
@@ -38,6 +39,220 @@ bl_info = {
 import bpy
 
 # main class of this toolbar
+
+## re-ordered (reversed) Orbit Oprators
+class OrbitUpView1(bpy.types.Operator):
+    bl_idname = 'opr.orbit_up_view1'
+    bl_label = 'Orbit Up View'
+    bl_description = 'Orbit the view towards you'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_orbit(type='ORBITUP')
+        return {'FINISHED'}
+
+
+class OrbitLeftView1(bpy.types.Operator):
+    bl_idname = 'opr.orbit_left_view1'
+    bl_label = 'Orbit Left View'
+    bl_description = 'Orbit the view around to your Right'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_orbit(type='ORBITLEFT')
+        return {'FINISHED'}
+
+
+class OrbitRightView1(bpy.types.Operator):
+    bl_idname = 'opr.orbit_right_view1'
+    bl_label = 'Orbit Right View'
+    bl_description = 'Orbit the view around to your Left'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_orbit(type='ORBITRIGHT')
+        return {'FINISHED'}
+
+
+class OrbitDownView1(bpy.types.Operator):
+    bl_idname = 'opr.orbit_down_view1'
+    bl_label = 'Orbit Down View'
+    bl_description = 'Orbit the view away from you'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_orbit(type='ORBITDOWN')
+        return {'FINISHED'}
+
+## re-ordered (reversed) Pan Oprators
+class PanUpView1(bpy.types.Operator):
+    bl_idname = 'opr.pan_up_view1'
+    bl_label = 'Pan Up View'
+    bl_description = 'Pan the view Down'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_pan(type='PANUP')
+        return {'FINISHED'}
+
+
+class PanLeftView1(bpy.types.Operator):
+    bl_idname = 'opr.pan_left_view1'
+    bl_label = 'Pan Right View'
+    bl_description = 'Pan the view to your Right'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_pan(type='PANLEFT')
+        return {'FINISHED'}
+
+
+class PanRightView1(bpy.types.Operator):
+    bl_idname = 'opr.pan_right_view1'
+    bl_label = 'Pan Left View'
+    bl_description = 'Pan the view to your Left'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_pan(type='PANRIGHT')
+        return {'FINISHED'}
+
+
+class PanDownView1(bpy.types.Operator):
+    bl_idname = 'opr.pan_down_view1'
+    bl_label = 'Pan Down View'
+    bl_description = 'Pan the view up'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_pan(type='PANDOWN')
+        return {'FINISHED'}
+
+## Zoom Oprators
+class ZoomInView1(bpy.types.Operator):
+    bl_idname = 'opr.zoom_in_view1'
+    bl_label = 'Zoom In View'
+    bl_description = 'Zoom in in the view'
+
+    def execute(self, context):
+        bpy.ops.view3d.zoom(delta=1)
+        return {'FINISHED'}
+
+
+class ZoomOutView1(bpy.types.Operator):
+    bl_idname = 'opr.zoom_out_view1'
+    bl_label = 'Zoom Out View'
+    bl_description = 'Zoom out in the view'
+
+    def execute(self, context):
+        bpy.ops.view3d.zoom(delta=-1)
+        return {'FINISHED'}
+
+## Roll Oprators
+class RollLeftView1(bpy.types.Operator):
+    bl_idname = 'opr.roll_left_view1'
+    bl_label = 'Roll Left View'
+    bl_description = 'Roll the view left'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_roll(angle=-0.261799)
+        return {'FINISHED'}
+
+
+class RollRightView1(bpy.types.Operator):
+    bl_idname = 'opr.roll_right_view1'
+    bl_label = 'Roll Right View'
+    bl_description = 'Roll the view right'
+
+    def execute(self, context):
+        bpy.ops.view3d.view_roll(angle=0.261799)
+        return {'FINISHED'}
+
+
+class LeftViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.left_viewpoint1'
+    bl_label = 'Left Viewpoint'
+    bl_description = 'View from the Left'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='LEFT')
+        return {'FINISHED'}
+
+
+class RightViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.right_viewpoint1'
+    bl_label = 'Right Viewpoint'
+    bl_description = 'View from the Right'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='RIGHT')
+        return {'FINISHED'}
+
+
+class FrontViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.front_viewpoint1'
+    bl_label = 'Front Viewpoint'
+    bl_description = 'View from the Front'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='FRONT')
+        return {'FINISHED'}
+
+
+class BackViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.back_viewpoint1'
+    bl_label = 'Back Viewpoint'
+    bl_description = 'View from the Back'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='BACK')
+        return {'FINISHED'}
+
+
+class TopViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.top_viewpoint1'
+    bl_label = 'Top Viewpoint'
+    bl_description = 'View from the Top'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='TOP')
+        return {'FINISHED'}
+
+
+class BottomViewpoint1(bpy.types.Operator):
+    bl_idname = 'opr.bottom_viewpoint1'
+    bl_label = 'Bottom Viewpoint'
+    bl_description = 'View from the Bottom'
+
+    def execute(self, context):
+        bpy.ops.view3d.viewnumpad(type='BOTTOM')
+        return {'FINISHED'}
+
+
+class ShowHideObject1(bpy.types.Operator):
+    bl_idname = 'opr.show_hide_object1'
+    bl_label = 'Show/Hide Object'
+    bl_description = 'Show/hide selected objects'
+    bl_options = {'REGISTER', 'UNDO'}
+
+    def execute(self, context):
+        if context.object == None:
+            self.report({'ERROR'}, 'Cannot perform this operation on NoneType objects')
+            return {'CANCELLED'}
+
+        if context.object.mode != 'OBJECT':
+            self.report({'ERROR'}, 'This operation can be performed only in object mode')
+            return {'CANCELLED'}
+
+        for i in bpy.data.objects:
+            if i.select:
+                if i.hide:
+                    i.hide = False
+                    i.hide_select = False
+                    i.hide_render = False
+                else:
+                    i.hide = True
+                    i.select = False
+
+                    if i.type not in ['CAMERA', 'LAMP']:
+                        i.hide_render = True
+        return {'FINISHED'}
+
+# main class of this toolbar
+
+
 class VIEW3D_PT_3dnavigationPanel(bpy.types.Panel):
     bl_category = "Navigation"
     bl_space_type = "VIEW_3D"
@@ -50,22 +265,22 @@ class VIEW3D_PT_3dnavigationPanel(bpy.types.Panel):
 
 # Triple boutons
         col = layout.column(align=True)
-        col.operator("view3d.viewnumpad", text="View Camera", icon='CAMERA_DATA').type='CAMERA'
         col.operator("view3d.localview", text="View Global/Local")
         col.operator("view3d.view_persportho", text="View Persp/Ortho")
+        col.operator("view3d.viewnumpad", text="View Camera", icon='CAMERA_DATA').type = 'CAMERA'
 
 # group of 6 buttons
         col = layout.column(align=True)
         col.label(text="Align view from:")
         row = col.row()
-        row.operator("view3d.viewnumpad", text="Front").type='FRONT'
-        row.operator("view3d.viewnumpad", text="Back").type='BACK'
+        row.operator("view3d.viewnumpad", text="Front").type = 'FRONT'
+        row.operator("view3d.viewnumpad", text="Back").type = 'BACK'
         row = col.row()
-        row.operator("view3d.viewnumpad", text="Left").type='LEFT'
-        row.operator("view3d.viewnumpad", text="Right").type='RIGHT'
+        row.operator("view3d.viewnumpad", text="Left").type = 'LEFT'
+        row.operator("view3d.viewnumpad", text="Right").type = 'RIGHT'
         row = col.row()
-        row.operator("view3d.viewnumpad", text="Top").type='TOP'
-        row.operator("view3d.viewnumpad", text="Bottom").type='BOTTOM'
+        row.operator("view3d.viewnumpad", text="Top").type = 'TOP'
+        row.operator("view3d.viewnumpad", text="Bottom").type = 'BOTTOM'
 
 # group of 2 buttons
         col = layout.column(align=True)
@@ -82,16 +297,121 @@ class VIEW3D_PT_3dnavigationPanel(bpy.types.Panel):
 
         col.operator("view3d.snap_cursor_to_selected", text="Cursor to Selected")
 
+
+class VIEW3D_PT_pan_navigation1(bpy.types.Panel):
+    bl_idname = 'pan.navigation1'
+    bl_label = 'Pan Orbit Zoom Roll'
+    bl_space_type = 'VIEW_3D'
+    bl_region_type = 'TOOLS'
+    bl_category = 'Navigation'
+
+    def draw(self, context):
+        layout = self.layout
+        layout.label(text='Screen View Perspective')
+        row = layout.row()
+        box = row.box()
+        box.label(text='Pan:')
+        rowr = box.row()
+        rowr.operator('opr.pan_up_view1', text='', icon='TRIA_DOWN')
+        rowr.operator('opr.pan_down_view1', text='', icon='TRIA_UP')
+
+        rowr = box.row()
+        rowr.operator('opr.pan_right_view1', text='', icon='BACK')
+        rowr.operator('opr.pan_left_view1', text='', icon='FORWARD')
+
+        rowr = box.row()
+
+        box = row.box()
+        box.label(text='Orbit:')
+        rowr = box.row()
+        rowr.operator('opr.orbit_up_view1', text='', icon='TRIA_DOWN')
+        rowr.operator('opr.orbit_down_view1', text='', icon='TRIA_UP')
+        rowr = box.row()
+        rowr.operator('opr.orbit_right_view1', text='', icon='BACK')
+        rowr.operator('opr.orbit_left_view1', text='', icon='FORWARD')
+
+        rowr = box.row()
+        row = layout.row()
+
+        box = row.box()
+        box.label(text='Zoom:')
+        rowr = box.row()
+        rowrowr = rowr.row(align=True)
+        rowrowr.operator('opr.zoom_in_view1', text='', icon='ZOOMIN')
+        rowrowr.oper

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list