[Bf-blender-cvs] [eaf9f696f55] soc-2018-npr: lanpr.layers.active_layer always return None. weird.
Nick Wu
noreply at git.blender.org
Wed Jun 20 15:48:49 CEST 2018
Commit: eaf9f696f55353687fe3dd7e2e6ecfedbd2a246f
Author: Nick Wu
Date: Wed Jun 20 21:47:44 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBeaf9f696f55353687fe3dd7e2e6ecfedbd2a246f
lanpr.layers.active_layer always return None. weird.
===================================================================
M release/scripts/startup/bl_ui/properties_scene.py
M source/blender/draw/CMakeLists.txt
R059 source/blender/draw/engines/lanpr/lanpr_software_render.c source/blender/draw/engines/lanpr/lanpr_ops.c
M source/blender/editors/render/render_intern.h
M source/blender/editors/render/render_ops.c
M source/blender/makesdna/DNA_lanpr_types.h
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_lanpr.c
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 5ebe8858ce0..fbd01137da8 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -478,8 +478,11 @@ 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'}:
- layout.prop(lineset, "thickness", text="", emboss=False, icon_value=icon)
- #layout.prop(lineset, "show_render", text="", index=index)
+ split = layout.split(percentage=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)
@@ -496,12 +499,14 @@ class SCENE_PT_lanpr(SceneButtonsPanel, PropertyPanel, Panel):
layout = self.layout
scene = context.scene
lanpr = scene.lanpr
+ active_layer = lanpr.layer.active_layer #this is alwas none.
- layout.prop(lanpr, "master_mode", expand=True)
+ layout.prop(lanpr, "master_mode", expand=True)
if lanpr.master_mode == "DPIX":
layout.label(text="DPIX:")
layout.prop(lanpr, "reloaded")
+ layout.label(text="Effect Settings:")
split = layout.split()
col = split.column()
@@ -509,64 +514,81 @@ class SCENE_PT_lanpr(SceneButtonsPanel, PropertyPanel, Panel):
col = split.column()
col.prop(lanpr, "line_color")
- layout.label(text="Effect Settings:")
- layout.prop(lanpr, "line_thickness")
-
- if lanpr.line_thickness > 0.01:
- col = layout.column()
- col.label(text="Enable:")
- row = col.row(align=True)
- row.prop(lanpr, "enable_crease", text="Crease", toggle=True)
- row.prop(lanpr, "enable_edge_mark", text="Mark", toggle=True)
- row.prop(lanpr, "enable_material_seperate", text="Material", toggle=True)
- row.prop(lanpr, "enable_intersection", text="Intersection", toggle=True)
-
- row = col.row(align=True)
- if lanpr.enable_crease:
- row.prop(lanpr, "crease_color", text="")
- else:
- row.label(text="OFF")
-
- if lanpr.enable_edge_mark:
- row.prop(lanpr, "edge_mark_color", text="")
- else:
- row.label(text="OFF")
-
- if lanpr.enable_material_seperate:
- row.prop(lanpr, "material_color", text="")
- else:
- row.label(text="OFF")
-
- row.label(text="INOP")
-
- row = col.row(align=True)
- if lanpr.enable_crease:
- row.prop(lanpr, "line_thickness_crease", text="")
- else:
- row.label(text="OFF")
-
- if lanpr.enable_edge_mark:
- row.prop(lanpr, "line_thickness_edge_mark", text="")
- else:
- row.label(text="OFF")
-
- if lanpr.enable_material_seperate:
- row.prop(lanpr, "line_thickness_material", text="")
- else:
- row.label(text="OFF")
-
- row.label(text="INOP")
-
- layout.prop(lanpr, "crease_threshold")
- layout.prop(lanpr, "crease_fade_threshold")
+ layout.label(text="Layer Composition:")
+ row = layout.row()
+ rows = 4
+ layout.template_list("LANPR_linesets", "", lanpr, "layers", lanpr.layers, "active_layer_index", rows=rows)
+ layout.operator("scene.lanpr_add_line_layer")
+
+ if active_layer:
split = layout.split()
col = split.column()
- col.prop(lanpr, "depth_width_influence")
- col.prop(lanpr, "depth_alpha_influence")
+ col.prop(active_layer, "color")
col = split.column()
- col.prop(lanpr, "depth_width_curve")
- col.prop(lanpr, "depth_alpha_curve")
+ layout.prop(active_layer, "thickness")
+
+ if lanpr.line_thickness > 0.01:
+ col = layout.column()
+ col.label(text="Enable:")
+ row = col.row(align=True)
+ row.prop(active_layer, "enable_crease", text="Crease", toggle=True)
+ row.prop(active_layer, "enable_edge_mark", text="Mark", toggle=True)
+ row.prop(active_layer, "enable_material_seperate", text="Material", toggle=True)
+ row.prop(active_layer, "enable_intersection", text="Intersection", toggle=True)
+
+ row = col.row(align=True)
+ if lanpr.enable_crease:
+ row.prop(active_layer, "crease_color", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_edge_mark:
+ row.prop(active_layer, "edge_mark_color", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_material_seperate:
+ row.prop(active_layer, "material_color", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_intersection:
+ row.prop(active_layer, "intersection_color", text="")
+ else:
+ row.label(text="OFF")
+
+ row = col.row(align=True)
+ if lanpr.enable_crease:
+ row.prop(active_layer, "line_thickness_crease", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_edge_mark:
+ row.prop(active_layer, "line_thickness_edge_mark", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_material_seperate:
+ row.prop(active_layer, "line_thickness_material", text="")
+ else:
+ row.label(text="OFF")
+
+ if lanpr.enable_intersection:
+ row.prop(active_layer, "intersection_material", text="")
+ else:
+ row.label(text="OFF")
+
+ layout.prop(lanpr, "crease_threshold")
+ layout.prop(lanpr, "crease_fade_threshold")
+
+ split = layout.split()
+ col = split.column()
+ col.prop(lanpr, "depth_width_influence")
+ col.prop(lanpr, "depth_alpha_influence")
+ col = split.column()
+ col.prop(lanpr, "depth_width_curve")
+ col.prop(lanpr, "depth_alpha_curve")
else:
layout.label(text="Snake:")
@@ -630,10 +652,7 @@ class SCENE_PT_lanpr(SceneButtonsPanel, PropertyPanel, Panel):
else: #disabled vectorization
layout.label(text="Adjust values to avoid large pure white regions!")
- row = layout.row()
- rows = 4 if lineset else 2
- layout.LANPR_linesets("RENDERLAYER_UL_linesets", "", lanpr, "layers", lanpr.layers, "active_index", rows=rows)
-
+
@@ -680,6 +699,8 @@ classes = (
SCENE_PT_simplify,
SCENE_PT_lanpr,
SCENE_PT_custom_props,
+
+ LANPR_linesets,
)
if __name__ == "__main__": # only for live edit.
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 3ec1200f75f..21d5ec7ad81 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -120,7 +120,7 @@ set(SRC
engines/lanpr/lanpr_dpix.c
engines/lanpr/lanpr_engine.c
engines/lanpr/lanpr_snake.c
- engines/lanpr/lanpr_software_render.c
+ engines/lanpr/lanpr_ops.c
DRW_engine.h
intern/DRW_render.h
diff --git a/source/blender/draw/engines/lanpr/lanpr_software_render.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
similarity index 59%
rename from source/blender/draw/engines/lanpr/lanpr_software_render.c
rename to source/blender/draw/engines/lanpr/lanpr_ops.c
index 5bb95371509..af5d6c33956 100644
--- a/source/blender/draw/engines/lanpr/lanpr_software_render.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -65,4 +65,50 @@ void SCENE_OT_lanpr_calculate_feature_lines(struct wmOperatorType* ot){
//ot->modal = screen_render_modal;
ot->cancel = lanpr_compute_feature_lines_cancel;
ot->exec = lanpr_compute_feature_lines_exec;
+}
+
+
+/* internal */
+
+LANPR_LineStyle* lanpr_new_line_layer(SceneLANPR* lanpr){
+ LANPR_LineStyle* ls = MEM_callocN(sizeof(LANPR_LineStyle),"Line Style");
+ BLI_addtail(&lanpr->line_style_layers,ls);
+ lanpr->active_layer = ls;
+ return ls;
+}
+
+static int lanpr_add_line_layer_exec(struct bContext *C, struct wmOperator *op){
+ Scene *scene = CTX_data_scene(C);
+ SceneLANPR* lanpr = &scene->lanpr;
+
+ lanpr_new_line_layer(lanpr);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void SCENE_OT_lanpr_add_line_layer(struct wmOperatorType* ot){
+
+ ot->name = "Add line layer";
+ ot->description = "Add a new line layer";
+ ot->idname = "SCENE_OT_lanpr_add_line_layer";
+
+ ot->exec = lanpr_add_line_layer_exec;
+
+}
+
+static int lanpr_delete_line_layer_exec(struct bContext *C, struct wmOperator *op){
+
+ return OPERATOR_FINISHED;
+}
+
+
+void SCENE_OT_lanpr_delete_line_layer(struct wmOperatorType* ot){
+
+ ot->name = "Delete line layer";
+ ot->description = "Delete selected line lay
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list