[Bf-blender-cvs] [59d301befcc] soc-2019-fast-io: [Fast import/export] Fixed STL export UI
Hugo Sales
noreply at git.blender.org
Sat Jun 8 10:49:11 CEST 2019
Commit: 59d301befccf59d8127abf959c6132a9bbe5a2f7
Author: Hugo Sales
Date: Sat Jun 8 09:49:02 2019 +0100
Branches: soc-2019-fast-io
https://developer.blender.org/rB59d301befccf59d8127abf959c6132a9bbe5a2f7
[Fast import/export] Fixed STL export UI
===================================================================
M source/blender/editors/io/io_common.c
M source/blender/editors/io/io_common.h
M source/blender/editors/io/io_obj.c
M source/blender/editors/io/io_obj.h
M source/blender/editors/io/io_stl.c
===================================================================
diff --git a/source/blender/editors/io/io_common.c b/source/blender/editors/io/io_common.c
index f087acc217f..9a05e9aae6a 100644
--- a/source/blender/editors/io/io_common.c
+++ b/source/blender/editors/io/io_common.c
@@ -160,6 +160,12 @@ void io_common_default_declare_export(struct wmOperatorType *ot,
MOD_TRIANGULATE_NGON_BEAUTY, "Polygon Method",
"Method for splitting the polygons into triangles");
+ RNA_def_boolean(ot->srna, "use_ascii", 0, "Use ASCII format",
+ "Whether to use the ASCII or the binary variant");
+
+ RNA_def_boolean(ot->srna, "use_scene_units", 0, "Use scene units",
+ "Whether to use the scene's units as a scaling factor");
+
RNA_def_float(ot->srna, "global_scale", 1.0f, 0.0001f, 1000.0f, "Scale",
"Value by which to enlarge or shrink the objects with"
"respect to the world's origin",
@@ -231,6 +237,8 @@ ExportSettings * io_common_construct_default_export_settings(struct bContext *C,
settings->quad_method = RNA_enum_get(op->ptr, "quad_method");
settings->ngon_method = RNA_enum_get(op->ptr, "ngon_method");
settings->global_scale = RNA_float_get(op->ptr, "global_scale");
+ settings->use_ascii = RNA_boolean_get(op->ptr, "use_ascii");
+ settings->use_scene_units = RNA_boolean_get(op->ptr, "use_scene_units");
if(!settings->export_animations) {
settings->frame_start = BKE_scene_frame_get(CTX_data_scene(C));;
diff --git a/source/blender/editors/io/io_common.h b/source/blender/editors/io/io_common.h
index db9489dea5e..47edca32413 100644
--- a/source/blender/editors/io/io_common.h
+++ b/source/blender/editors/io/io_common.h
@@ -68,6 +68,8 @@ typedef struct ExportSettings {
int quad_method;
int ngon_method;
+ bool use_ascii;
+ bool use_scene_units;
float global_scale;
/* bool (*should_export_object)(const ExportSettings * const settings, const Object * const eob); */
diff --git a/source/blender/editors/io/io_obj.c b/source/blender/editors/io/io_obj.c
index 3cbebd0d309..62f8028a93e 100644
--- a/source/blender/editors/io/io_obj.c
+++ b/source/blender/editors/io/io_obj.c
@@ -1,4 +1,3 @@
-
#include "WM_api.h"
#include "WM_types.h"
@@ -131,10 +130,13 @@ static void wm_obj_export_draw(bContext *C, wmOperator *op) {
uiItemR(row, &ptr, "export_face_sets", 0, NULL, ICON_NONE);
row = uiLayoutRow(box, false);
- uiItemR(row, &ptr, "apply_modifiers", 1, NULL, ICON_NONE);
+ uiItemR(row, &ptr, "apply_modifiers", 0, NULL, ICON_NONE);
+
+ const bool modifiers = RNA_boolean_get(&ptr, "apply_modifiers");
row = uiLayoutRow(box, false);
- uiItemR(row, &ptr, "render_modifiers", 1, NULL, ICON_NONE);
+ uiLayoutSetEnabled(row, modifiers);
+ uiItemR(row, &ptr, "render_modifiers", 0, NULL, ICON_NONE);
row = uiLayoutRow(box, false);
uiItemR(row, &ptr, "curves_as_mesh", 0, NULL, ICON_NONE);
diff --git a/source/blender/editors/io/io_obj.h b/source/blender/editors/io/io_obj.h
index 646e3aa757b..e35f1afb368 100644
--- a/source/blender/editors/io/io_obj.h
+++ b/source/blender/editors/io/io_obj.h
@@ -35,6 +35,14 @@ struct wmOperatorType;
extern "C" {
#endif
+typedef struct OBJExportSettings {
+ float frame_start;
+ float frame_end;
+
+ bool flatten_hierarchy;
+
+} OBJExportSettings;
+
void WM_OT_obj_export(struct wmOperatorType *ot);
void WM_OT_obj_import(struct wmOperatorType *ot);
diff --git a/source/blender/editors/io/io_stl.c b/source/blender/editors/io/io_stl.c
index 6a254a71269..56f2871bae6 100644
--- a/source/blender/editors/io/io_stl.c
+++ b/source/blender/editors/io/io_stl.c
@@ -11,6 +11,10 @@
#include "io_stl.h"
#include "intern/stl.h"
+#include "RNA_access.h"
+#include "UI_interface.h"
+#include "UI_resources.h"
+
/* bool STL_export(bContext *C, ExportSettings * const settings); */
static int wm_stl_export_invoke(bContext *C, wmOperator *op, const wmEvent *event) {
@@ -20,7 +24,47 @@ static int wm_stl_export_exec(bContext *C, wmOperator *op) {
return io_common_export_exec(C, op, &STL_export /* export function */);
}
static void wm_stl_export_draw(bContext *C, wmOperator *op) {
- /* io_common_export_draw(C, op); */
+ PointerRNA ptr;
+ RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
+
+ /* uiLayout *box; */
+ /* uiLayout *sub_box; */
+ uiLayout *row;
+
+ /* box = uiLayoutBox(op->layout); */
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "axis_forward", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "axis_up", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "selected_only", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "visible_only", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "renderable_only", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "use_ascii", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "global_scale", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "use_scene_units", 0, NULL, ICON_NONE);
+
+ row = uiLayoutRow(op->layout, false);
+ uiItemR(row, &ptr, "apply_modifiers", 0, NULL, ICON_NONE);
+
+ const bool modifiers = RNA_boolean_get(&ptr, "apply_modifiers");
+
+ row = uiLayoutRow(op->layout, false);
+ uiLayoutSetEnabled(row, modifiers);
+ uiItemR(row, &ptr, "render_modifiers", 0, NULL, ICON_NONE);
}
static bool wm_stl_export_check(bContext *C, wmOperator *op) {
return io_common_export_check(C, op, ".stl");
More information about the Bf-blender-cvs
mailing list