[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