[Bf-blender-cvs] [13cff0d5241] soc-2019-npr: LANPR: Move main panel to render tab
YimingWu
noreply at git.blender.org
Tue Jun 18 10:23:37 CEST 2019
Commit: 13cff0d524164b19aa98fa3cdbd477153f9ecf1e
Author: YimingWu
Date: Tue Jun 18 13:36:49 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB13cff0d524164b19aa98fa3cdbd477153f9ecf1e
LANPR: Move main panel to render tab
===================================================================
M release/scripts/startup/bl_ui/properties_render.py
M release/scripts/startup/bl_ui/properties_scene.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 8734989a56f..5724e724289 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -18,12 +18,15 @@
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
-from bpy.types import Panel
from bl_ui.space_view3d import (
VIEW3D_PT_shading_lighting,
VIEW3D_PT_shading_color,
VIEW3D_PT_shading_options,
)
+from bpy.types import (
+ Panel,
+ UIList,
+)
class RenderButtonsPanel:
@@ -686,6 +689,378 @@ class RENDER_PT_simplify_greasepencil(RenderButtonsPanel, Panel):
sub.prop(rd, "simplify_gpencil_remove_lines", text="Lines")
+class LANPR_linesets(UIList):
+ def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
+ lineset = item
+ if self.layout_type in {'DEFAULT', 'COMPACT'}:
+ split = layout.split(factor=0.6)
+ split.label(text="Layer")
+ row = split.row(align=True)
+ row.prop(lineset, "color", text="", icon_value=icon)
+ row.prop(lineset, "thickness", text="", icon_value=icon)
+ elif self.layout_type == 'GRID':
+ layout.alignment = 'CENTER'
+ layout.label("", icon_value=icon)
+
+def lanpr_get_composition_scene(scene):
+ n = scene.name+'_lanpr_comp'
+ for s in bpy.data.scenes:
+ if s.name == n: return s
+ return None
+
+def lanpr_is_composition_scene(scene):
+ return scene.name.endswith('_lanpr_comp')
+
+class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_LANPR', 'BLENDER_OPENGL', 'BLENDER_EEVEE'}
+ bl_label = "LANPR"
+ bl_options = {'DEFAULT_CLOSED'}
+
+ @classmethod
+ def poll(cls, context):
+ return True
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ lanpr = scene.lanpr
+ active_layer = lanpr.layers.active_layer
+
+ # make LANPR main panel now visible under all engines.
+ # composition method yet to be deteremined.
+
+ #sc = lanpr_get_composition_scene(scene)
+
+ #if sc is not None:
+ # layout.label(text = 'You are adjusting values for LANPR compostion scene.')
+ # row = layout.row()
+ # row.scale_y=1.5
+ # row.operator("lanpr.goto_composition_scene")
+ # layout.operator("lanpr.remove_composition_scene")
+ # scene = sc
+ # lanpr = scene.lanpr
+ # active_layer = lanpr.layers.active_layer
+ # return
+ #elif scene.render.engine!='BLENDER_LANPR':
+ # layout.label(text = 'Select LANPR engine or use composition scene.')
+ # layout.operator("lanpr.make_composition_scene")
+ # return
+
+ #if lanpr_is_composition_scene(scene):
+ # row = layout.row()
+ # row.scale_y=1.5
+ # row.operator("lanpr.goto_original_scene")
+ #
+ # layout.label(text='LANPR Composition')
+ # row = layout.row()
+ # row.scale_y=1.5
+ # row.scale_x=4
+ # row.operator("lanpr.render_composited", icon = 'RENDER_STILL')
+ # row.scale_x=1
+ # row.prop(lanpr,"composite_render_animation", toggle=True, icon = 'RENDER_ANIMATION')
+
+ if scene.render.engine!='BLENDER_LANPR':
+ layout.label(text='Mode:')
+ layout.prop(lanpr, "master_mode", expand=True)
+ else:
+ layout.label(text='Only Software mode result is used to generate GP stroke.')
+
+ if lanpr.master_mode == "DPIX" or lanpr.master_mode == "SOFTWARE":
+
+ layout.prop(lanpr, "background_color")
+ layout.prop(lanpr, "crease_threshold")
+
+ if lanpr.master_mode == "SOFTWARE":
+ layout.label(text="Enable On Demand:")
+ row = layout.row()
+ row.prop(lanpr,"enable_intersections", text = "Intersection Lines")
+ row.prop(lanpr,"enable_chaining", text = "Chaining (SLOW!)")
+ layout.label(text="RUN:")
+ layout.operator("scene.lanpr_calculate", icon='RENDER_STILL')
+
+ split = layout.split(factor=0.7)
+ col = split.column()
+ col.label(text="Layer Composition:")
+ col = split.column()
+ col.operator("scene.lanpr_auto_create_line_layer", text = "Default")#, icon = "ZOOMIN")
+ layout.template_list("LANPR_linesets", "", lanpr, "layers", lanpr.layers, "active_layer_index", rows=4)
+ if active_layer:
+ split = layout.split()
+ col = split.column()
+ col.operator("scene.lanpr_add_line_layer")#icon="ZOOMIN")
+ col.operator("scene.lanpr_delete_line_layer")#, icon="ZOOMOUT")
+ col = split.column()
+ col.operator("scene.lanpr_move_line_layer").direction = "UP"
+ col.operator("scene.lanpr_move_line_layer").direction = "DOWN"
+ layout.operator("scene.lanpr_rebuild_all_commands")
+ else:
+ layout.operator("scene.lanpr_add_line_layer")
+
+ if active_layer:
+ layout.label(text= "Normal:")
+ layout.prop(active_layer,"normal_mode", expand = True)
+ if active_layer.normal_mode != "DISABLED":
+ layout.prop(active_layer,"normal_control_object")
+ layout.prop(active_layer,"normal_effect_inverse", toggle = True)
+ layout.prop(active_layer,"normal_ramp_begin")
+ layout.prop(active_layer,"normal_ramp_end")
+ layout.prop(active_layer,"normal_thickness_begin", slider=True)
+ layout.prop(active_layer,"normal_thickness_end", slider=True)
+
+ else:
+ layout.label(text="Vectorization:")
+ layout.prop(lanpr, "enable_vector_trace", expand = True)
+
+
+class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
+ bl_label = "Types"
+ bl_parent_id = "RENDER_PT_lanpr"
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_LANPR', 'BLENDER_OPENGL', 'BLENDER_EEVEE'}
+
+ @classmethod
+ def poll(cls, context):
+ scene = context.scene
+ lanpr = scene.lanpr
+ active_layer = lanpr.layers.active_layer
+ return active_layer and lanpr.master_mode != "SNAKE"
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ lanpr = scene.lanpr
+ active_layer = lanpr.layers.active_layer
+ if active_layer and lanpr.master_mode == "DPIX":
+ active_layer = lanpr.layers[0]
+
+ layout.operator("scene.lanpr_enable_all_line_types")
+
+ split = layout.split(factor=0.3)
+ col = split.column()
+ col.prop(active_layer, "enable_contour", text="Contour", toggle=True)
+ col.prop(active_layer, "enable_crease", text="Crease", toggle=True)
+ col.prop(active_layer, "enable_edge_mark", text="Mark", toggle=True)
+ col.prop(active_layer, "enable_material_seperate", text="Material", toggle=True)
+ col.prop(active_layer, "enable_intersection", text="Intersection", toggle=True)
+ col = split.column()
+ row = col.row(align = True)
+ #row.enabled = active_layer.enable_contour this is always enabled now
+ row.prop(active_layer, "color", text="")
+ row.prop(active_layer, "thickness", text="")
+ row = col.row(align = True)
+ row.enabled = active_layer.enable_crease
+ row.prop(active_layer, "crease_color", text="")
+ row.prop(active_layer, "thickness_crease", text="")
+ row = col.row(align = True)
+ row.enabled = active_layer.enable_edge_mark
+ row.prop(active_layer, "edge_mark_color", text="")
+ row.prop(active_layer, "thickness_edge_mark", text="")
+ row = col.row(align = True)
+ row.enabled = active_layer.enable_material_seperate
+ row.prop(active_layer, "material_color", text="")
+ row.prop(active_layer, "thickness_material", text="")
+ row = col.row(align = True)
+ if lanpr.enable_intersections:
+ row.enabled = active_layer.enable_intersection
+ row.prop(active_layer, "intersection_color", text="")
+ row.prop(active_layer, "thickness_intersection", text="")
+ else:
+ row.label(text= "Intersection Calculation Disabled")
+
+ if lanpr.master_mode == "DPIX" and active_layer.enable_intersection:
+ row = col.row(align = True)
+ row.prop(lanpr,"enable_intersections", toggle = True, text = "Enable")
+ if lanpr.enable_intersections:
+ row.operator("scene.lanpr_calculate", text= "Recalculate")
+
+ if lanpr.master_mode == "SOFTWARE":
+ row = layout.row(align=True)
+ row.prop(active_layer, "qi_begin")
+ row.prop(active_layer, "qi_end")
+
+class RENDER_PT_lanpr_line_components(RenderButtonsPanel, Panel):
+ bl_label = "Including"
+ bl_parent_id = "RENDER_PT_lanpr"
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_LANPR', 'BLENDER_OPENGL', 'BLENDER_EEVEE'}
+
+ @classmethod
+ def poll(cls, context):
+ scene = context.scene
+ lanpr = scene.lanpr
+ active_layer = lanpr.layers.active_layer
+ return active_layer and lanpr.master_mode == "SOFTWARE" and not lanpr.enable_chaining
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ lanpr = scene.lanpr
+ active_layer = lanpr.layers.active_layer
+
+ layout.operator("scene.lanpr_add_line_component")#, icon = "ZOOMIN")
+
+ i=0
+ for c in active_layer.components:
+ split = layout.split(factor=0.85)
+ col = split.column()
+ sp2 = col.split(factor=0.4)
+ cl = sp2.column()
+ cl.prop(c,"component_mode", text =
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list