[Bf-extensions-cvs] [3599066] master: Node Wrangler: Add Viewer Focus (from Sebastian Koenig)
Greg Zaal
noreply at git.blender.org
Mon Nov 17 16:14:47 CET 2014
Commit: 3599066a4b9eb27b34a22069ee36ab0be39c2572
Author: Greg Zaal
Date: Mon Nov 17 17:10:57 2014 +0200
Branches: master
https://developer.blender.org/rBA3599066a4b9eb27b34a22069ee36ab0be39c2572
Node Wrangler: Add Viewer Focus (from Sebastian Koenig)
In the compositor, double click on the backdrop image to set the tile center of Viewer nodes to that point.
===================================================================
M node_efficiency_tools.py
===================================================================
diff --git a/node_efficiency_tools.py b/node_efficiency_tools.py
index 79071e9..f36046f 100644
--- a/node_efficiency_tools.py
+++ b/node_efficiency_tools.py
@@ -18,8 +18,8 @@
bl_info = {
"name": "Node Wrangler (aka Nodes Efficiency Tools)",
- "author": "Bartek Skorupa, Greg Zaal",
- "version": (3, 18),
+ "author": "Bartek Skorupa, Greg Zaal, Sebastian Koenig",
+ "version": (3, 19),
"blender": (2, 72, 0),
"location": "Node Editor Properties Panel or Ctrl-Space",
"description": "Various tools to enhance and speed up node-based workflow",
@@ -3048,6 +3048,64 @@ class NWAddMultipleImages(Operator, ImportHelper):
return {'FINISHED'}
+class NWViewerFocus(bpy.types.Operator):
+ """Set the viewer tile center to the mouse position"""
+ bl_idname = "node.nw_viewer_focus"
+ bl_label = "Viewer Focus"
+
+ x = bpy.props.IntProperty()
+ y = bpy.props.IntProperty()
+
+ @classmethod
+ def poll(cls, context):
+ return nw_check(context) and context.space_data.tree_type == 'CompositorNodeTree'
+
+ def execute(self, context):
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ render = context.scene.render
+ space = context.space_data
+ percent = render.resolution_percentage*0.01
+
+ for n in bpy.context.scene.node_tree.nodes:
+ if n.type == "VIEWER":
+ self.x = event.mouse_region_x
+ self.y = event.mouse_region_y
+
+ region_x=context.region.width
+ region_y=context.region.height
+
+ region_center_x=region_x/2
+ region_center_y=region_y/2
+
+ rel_region_mouse_x=region_x-self.x
+ rel_region_mouse_y=region_y-self.y
+
+ bd_x = render.resolution_x*percent*space.backdrop_zoom
+ bd_y = render.resolution_y* percent*space.backdrop_zoom
+
+ backdrop_center_x=(bd_x/2)-space.backdrop_x
+ backdrop_center_y=(bd_y/2)-space.backdrop_y
+
+ margin_x = region_center_x-backdrop_center_x
+ margin_y = region_center_y-backdrop_center_y
+
+ absolute_x_max = margin_x+bd_x
+ absolute_y_max = margin_y+bd_y
+
+ abs_mouse_x = (self.x-margin_x)/bd_x
+ abs_mouse_y = (self.y-margin_y)/bd_y
+
+ rel_bd_x = (bd_x-rel_region_mouse_x)
+ rel_bd_y = (bd_y-rel_region_mouse_y)
+
+ n.center_x = abs_mouse_x
+ n.center_y = abs_mouse_y
+
+ return self.execute(context)
+
+
#
# P A N E L
#
@@ -3826,182 +3884,184 @@ def bgreset_menu_func(self, context):
#
addon_keymaps = []
-# kmi_defs entry: (identifier, key, CTRL, SHIFT, ALT, props, nice name)
+# kmi_defs entry: (identifier, key, action, CTRL, SHIFT, ALT, props, nice name)
# props entry: (property name, property value)
kmi_defs = (
# MERGE NODES
# NWMergeNodes with Ctrl (AUTO).
- (NWMergeNodes.bl_idname, 'NUMPAD_0', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_0', 'PRESS', True, False, False,
(('mode', 'MIX'), ('merge_type', 'AUTO'),), "Merge Nodes (Automatic)"),
- (NWMergeNodes.bl_idname, 'ZERO', True, False, False,
+ (NWMergeNodes.bl_idname, 'ZERO', 'PRESS', True, False, False,
(('mode', 'MIX'), ('merge_type', 'AUTO'),), "Merge Nodes (Automatic)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', 'PRESS', True, False, False,
(('mode', 'ADD'), ('merge_type', 'AUTO'),), "Merge Nodes (Add)"),
- (NWMergeNodes.bl_idname, 'EQUAL', True, False, False,
+ (NWMergeNodes.bl_idname, 'EQUAL', 'PRESS', True, False, False,
(('mode', 'ADD'), ('merge_type', 'AUTO'),), "Merge Nodes (Add)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', 'PRESS', True, False, False,
(('mode', 'MULTIPLY'), ('merge_type', 'AUTO'),), "Merge Nodes (Multiply)"),
- (NWMergeNodes.bl_idname, 'EIGHT', True, False, False,
+ (NWMergeNodes.bl_idname, 'EIGHT', 'PRESS', True, False, False,
(('mode', 'MULTIPLY'), ('merge_type', 'AUTO'),), "Merge Nodes (Multiply)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', 'PRESS', True, False, False,
(('mode', 'SUBTRACT'), ('merge_type', 'AUTO'),), "Merge Nodes (Subtract)"),
- (NWMergeNodes.bl_idname, 'MINUS', True, False, False,
+ (NWMergeNodes.bl_idname, 'MINUS', 'PRESS', True, False, False,
(('mode', 'SUBTRACT'), ('merge_type', 'AUTO'),), "Merge Nodes (Subtract)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', 'PRESS', True, False, False,
(('mode', 'DIVIDE'), ('merge_type', 'AUTO'),), "Merge Nodes (Divide)"),
- (NWMergeNodes.bl_idname, 'SLASH', True, False, False,
+ (NWMergeNodes.bl_idname, 'SLASH', 'PRESS', True, False, False,
(('mode', 'DIVIDE'), ('merge_type', 'AUTO'),), "Merge Nodes (Divide)"),
- (NWMergeNodes.bl_idname, 'COMMA', True, False, False,
+ (NWMergeNodes.bl_idname, 'COMMA', 'PRESS', True, False, False,
(('mode', 'LESS_THAN'), ('merge_type', 'MATH'),), "Merge Nodes (Less than)"),
- (NWMergeNodes.bl_idname, 'PERIOD', True, False, False,
+ (NWMergeNodes.bl_idname, 'PERIOD', 'PRESS', True, False, False,
(('mode', 'GREATER_THAN'), ('merge_type', 'MATH'),), "Merge Nodes (Greater than)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_PERIOD', True, False, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_PERIOD', 'PRESS', True, False, False,
(('mode', 'MIX'), ('merge_type', 'ZCOMBINE'),), "Merge Nodes (Z-Combine)"),
# NWMergeNodes with Ctrl Alt (MIX or ALPHAOVER)
- (NWMergeNodes.bl_idname, 'NUMPAD_0', True, False, True,
+ (NWMergeNodes.bl_idname, 'NUMPAD_0', 'PRESS', True, False, True,
(('mode', 'MIX'), ('merge_type', 'ALPHAOVER'),), "Merge Nodes (Alpha Over)"),
- (NWMergeNodes.bl_idname, 'ZERO', True, False, True,
+ (NWMergeNodes.bl_idname, 'ZERO', 'PRESS', True, False, True,
(('mode', 'MIX'), ('merge_type', 'ALPHAOVER'),), "Merge Nodes (Alpha Over)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', True, False, True,
+ (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', 'PRESS', True, False, True,
(('mode', 'ADD'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Add)"),
- (NWMergeNodes.bl_idname, 'EQUAL', True, False, True,
+ (NWMergeNodes.bl_idname, 'EQUAL', 'PRESS', True, False, True,
(('mode', 'ADD'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Add)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', True, False, True,
+ (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', 'PRESS', True, False, True,
(('mode', 'MULTIPLY'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Multiply)"),
- (NWMergeNodes.bl_idname, 'EIGHT', True, False, True,
+ (NWMergeNodes.bl_idname, 'EIGHT', 'PRESS', True, False, True,
(('mode', 'MULTIPLY'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Multiply)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', True, False, True,
+ (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', 'PRESS', True, False, True,
(('mode', 'SUBTRACT'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Subtract)"),
- (NWMergeNodes.bl_idname, 'MINUS', True, False, True,
+ (NWMergeNodes.bl_idname, 'MINUS', 'PRESS', True, False, True,
(('mode', 'SUBTRACT'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Subtract)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', True, False, True,
+ (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', 'PRESS', True, False, True,
(('mode', 'DIVIDE'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Divide)"),
- (NWMergeNodes.bl_idname, 'SLASH', True, False, True,
+ (NWMergeNodes.bl_idname, 'SLASH', 'PRESS', True, False, True,
(('mode', 'DIVIDE'), ('merge_type', 'MIX'),), "Merge Nodes (Color, Divide)"),
# NWMergeNodes with Ctrl Shift (MATH)
- (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', True, True, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_PLUS', 'PRESS', True, True, False,
(('mode', 'ADD'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Add)"),
- (NWMergeNodes.bl_idname, 'EQUAL', True, True, False,
+ (NWMergeNodes.bl_idname, 'EQUAL', 'PRESS', True, True, False,
(('mode', 'ADD'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Add)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', True, True, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_ASTERIX', 'PRESS', True, True, False,
(('mode', 'MULTIPLY'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Multiply)"),
- (NWMergeNodes.bl_idname, 'EIGHT', True, True, False,
+ (NWMergeNodes.bl_idname, 'EIGHT', 'PRESS', True, True, False,
(('mode', 'MULTIPLY'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Multiply)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', True, True, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_MINUS', 'PRESS', True, True, False,
(('mode', 'SUBTRACT'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Subtract)"),
- (NWMergeNodes.bl_idname, 'MINUS', True, True, False,
+ (NWMergeNodes.bl_idname, 'MINUS', 'PRESS', True, True, False,
(('mode', 'SUBTRACT'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Subtract)"),
- (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', True, True, False,
+ (NWMergeNodes.bl_idname, 'NUMPAD_SLASH', 'PRESS', True, True, False,
(('mode', 'DIVIDE'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Divide)"),
- (NWMergeNodes.bl_idname, 'SLASH', True, True, False,
+ (NWMergeNodes.bl_idname, 'SLASH', 'PRESS', True, True, False,
(('mode', 'DIVIDE'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Divide)"),
- (NWMergeNodes.bl_idname, 'COMMA', True, True, False,
+ (NWMergeNodes.bl_idname, 'COMMA', 'PRESS', True, True, False,
(('mode', 'LESS_THAN'), ('merge_type', 'MATH'),), "Merge Nodes (Math, Less than)"),
- (NWMergeNodes.bl_idname, 'PERIOD', True, True, False,
+ (NWMergeNodes.bl_idname, 'PERIOD', 'PRESS', True, True, False,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list