[Bf-blender-cvs] [a412b5c7fb3] soc-2019-npr: LANPR: Added operator for exporting svg. (Not functioning)

YimingWu noreply at git.blender.org
Wed Jul 10 05:11:35 CEST 2019


Commit: a412b5c7fb3a15a0296ea9a9677f5520c5eeb1e9
Author: YimingWu
Date:   Wed Jul 10 11:08:40 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBa412b5c7fb3a15a0296ea9a9677f5520c5eeb1e9

LANPR: Added operator for exporting svg. (Not functioning)

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

M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/draw/engines/lanpr/lanpr_ops.c
M	source/blender/editors/render/render_intern.h
M	source/blender/editors/render/render_ops.c

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

diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 5dc4d5775f0..f07c83f3721 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -778,6 +778,7 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
                 txt = "Update" if mode == "SOFTWARE" else "Intersection Cache"
                 if not lanpr.auto_update:
                     row.operator("scene.lanpr_calculate", icon='FILE_REFRESH', text=txt)
+                layout.operator("scene.lanpr_export_svg", icon='OUTLINER_OB_CURVE', text="Generate SVG to a text block")
             
             if lanpr.master_mode == "DPIX":
                 layout.label(text="Cache Size:")
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 1b402523ce2..d5716051d4e 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -12,6 +12,7 @@
 #include "DNA_mesh_types.h"
 #include "DNA_camera_types.h"
 #include "DNA_modifier_types.h"
+#include "DNA_text_types.h"
 #include "GPU_immediate.h"
 #include "GPU_immediate_util.h"
 #include "GPU_framebuffer.h"
@@ -23,6 +24,7 @@
 #include "BKE_collection.h"
 #include "BKE_report.h"
 #include "BKE_screen.h"
+#include "BKE_text.h"
 #include "GPU_draw.h"
 
 #include "GPU_batch.h"
@@ -5112,3 +5114,47 @@ void OBJECT_OT_lanpr_update_gp_source(struct wmOperatorType *ot)
   ot->poll = lanpr_active_is_source_object;
   ot->exec = lanpr_update_gp_source_exec;
 }
+
+static int lanpr_export_svg_exec(bContext *C, wmOperator *op)
+{
+  LANPR_RenderBuffer* rb = lanpr_share.render_buffer_shared;
+  SceneLANPR* lanpr = &rb->scene->lanpr;
+  LANPR_LineLayer* ll;
+
+  for(ll = lanpr->line_layers.first; ll; ll = ll->next){
+    Text *ta = BKE_text_add(CTX_data_main(C),"exported_svg");
+    /* exporter here */
+  }
+
+  return OPERATOR_FINISHED;
+}
+
+static bool lanpr_render_buffer_found(bContext *C)
+{
+  if(lanpr_share.render_buffer_shared){
+    return true;
+  }
+  return false;
+}
+
+void SCENE_OT_lanpr_export_svg(wmOperatorType *ot)
+{
+  PropertyRNA *prop;
+
+  /* identifiers */
+  ot->name = "Export LANPR to SVG";
+  ot->description = "Export LANPR render result into a SVG file";
+  ot->idname = "SCENE_OT_lanpr_export_svg";
+
+  /* callbacks */
+  ot->exec = lanpr_export_svg_exec;
+  ot->poll = lanpr_render_buffer_found;
+
+  /* flag */
+  ot->flag = OPTYPE_USE_EVAL_DATA;
+
+  /* properties */
+  /* Should have: facing, layer, visibility, file split... */
+}
+
+
diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.h
index 9cbdf745701..d4e2ca84128 100644
--- a/source/blender/editors/render/render_intern.h
+++ b/source/blender/editors/render/render_intern.h
@@ -88,6 +88,8 @@ void SCENE_OT_lanpr_delete_line_component(struct wmOperatorType *ot);
 void SCENE_OT_lanpr_enable_all_line_types(struct wmOperatorType *ot);
 void SCENE_OT_lanpr_update_gp_strokes(struct wmOperatorType *ot);
 void SCENE_OT_lanpr_bake_gp_strokes(struct wmOperatorType *ot);
+void SCENE_OT_lanpr_export_svg(struct wmOperatorType *ot);
+
 void OBJECT_OT_lanpr_update_gp_target(struct wmOperatorType *ot);
 void OBJECT_OT_lanpr_update_gp_source(struct wmOperatorType *ot);
 
diff --git a/source/blender/editors/render/render_ops.c b/source/blender/editors/render/render_ops.c
index 622d9795bb0..942f7aa6f29 100644
--- a/source/blender/editors/render/render_ops.c
+++ b/source/blender/editors/render/render_ops.c
@@ -95,6 +95,7 @@ void ED_operatortypes_render(void)
   WM_operatortype_append(SCENE_OT_lanpr_enable_all_line_types);
   WM_operatortype_append(SCENE_OT_lanpr_update_gp_strokes);
   WM_operatortype_append(SCENE_OT_lanpr_bake_gp_strokes);
+  WM_operatortype_append(SCENE_OT_lanpr_export_svg);
 
   WM_operatortype_append(TEXTURE_OT_slot_copy);
   WM_operatortype_append(TEXTURE_OT_slot_paste);



More information about the Bf-blender-cvs mailing list