[Bf-docboard-svn] bf-manual: [9157] trunk/blender_docs/tools_maintenance/generate_node_screenshots.py: Node Screenshots: add support for other node tree types
Aaron Carlisle
noreply at blender.org
Tue Mar 29 04:54:23 CEST 2022
Revision: 9157
https://developer.blender.org/rBM9157
Author: Blendify
Date: 2022-03-29 04:54:22 +0200 (Tue, 29 Mar 2022)
Log Message:
-----------
Node Screenshots: add support for other node tree types
Modified Paths:
--------------
trunk/blender_docs/tools_maintenance/generate_node_screenshots.py
Modified: trunk/blender_docs/tools_maintenance/generate_node_screenshots.py
===================================================================
--- trunk/blender_docs/tools_maintenance/generate_node_screenshots.py 2022-03-26 02:58:20 UTC (rev 9156)
+++ trunk/blender_docs/tools_maintenance/generate_node_screenshots.py 2022-03-29 02:54:22 UTC (rev 9157)
@@ -39,15 +39,27 @@
dimensions = node.dimensions
view_to_region = region.view2d.view_to_region
- bottom_left = view_to_region(location.x, location.y - dimensions.y, clip=False)
- top_right = view_to_region(location.x + dimensions.x, location.y, clip=False)
+ bottom_left = view_to_region(
+ location.x, location.y - dimensions.y, clip=False)
+ top_right = view_to_region(
+ location.x + dimensions.x, location.y, clip=False)
return Rectangle(bottom_left[0], bottom_left[1], top_right[0] - bottom_left[0], top_right[1] - bottom_left[1])
-def iter_node_names():
- for cls in bpy.types.CompositorNode.__subclasses__():
- yield cls.__name__
+def iter_node_names(tree_type):
+ if tree_type == 'GEOMETRY':
+ for cls in bpy.types.GeometryNode.__subclasses__():
+ yield cls.__name__
+ elif tree_type == 'COMPOSITING':
+ for cls in bpy.types.CompositorNode.__subclasses__():
+ yield cls.__name__
+ elif tree_type == 'SHADER':
+ for cls in bpy.types.ShaderNode.__subclasses__():
+ yield cls.__name__
+ elif tree_type == 'TEXTURE':
+ for cls in bpy.types.TextureNode.__subclasses__():
+ yield cls.__name__
class MakeScreenshotsOperator(bpy.types.Operator):
@@ -57,7 +69,8 @@
def invoke(self, context, event):
context.window_manager.modal_handler_add(self)
- self.node_names_iterator = islice(iter_node_names(), 10000)
+ tree_type = context.space_data.node_tree.type
+ self.node_names_iterator = islice(iter_node_names(tree_type), 10000)
return self.prepare_next_node(context)
@@ -78,8 +91,8 @@
def modal(self, context, event):
temp_path = f"/home/jacques/Downloads/temp.png"
- filepath = f"/home/jacques/Downloads/compositing_node-types_{self.current_name}.png"
- bpy.ops.screen.screenshot(full=False, filepath=temp_path)
+ filepath = f"/home/jacques/Downloads/node-types_{self.current_name}.png"
+ bpy.ops.screen.screenshot_area(filepath=temp_path)
rect = node_region_rect(context.region, self.current_node)
margin = 15
@@ -88,7 +101,7 @@
rect.width += margin * 2
rect.height += margin * 2
- bpy.ops.screen.screenshot(full=False, filepath=filepath)
+ bpy.ops.screen.screenshot_area(filepath=filepath)
cut_image(temp_path, filepath, rect)
context.area.tag_redraw()
More information about the Bf-docboard-svn
mailing list