Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/io/io_alembic.c')
-rw-r--r--source/blender/editors/io/io_alembic.c159
1 files changed, 61 insertions, 98 deletions
diff --git a/source/blender/editors/io/io_alembic.c b/source/blender/editors/io/io_alembic.c
index dc8ad858a9f..238ebffe153 100644
--- a/source/blender/editors/io/io_alembic.c
+++ b/source/blender/editors/io/io_alembic.c
@@ -133,7 +133,6 @@ static int wm_alembic_export_exec(bContext *C, wmOperator *op)
.use_subdiv_schema = RNA_boolean_get(op->ptr, "subdiv_schema"),
.export_hair = RNA_boolean_get(op->ptr, "export_hair"),
.export_particles = RNA_boolean_get(op->ptr, "export_particles"),
- .compression_type = RNA_enum_get(op->ptr, "compression_type"),
.packuv = RNA_boolean_get(op->ptr, "packuv"),
.triangulate = RNA_boolean_get(op->ptr, "triangulate"),
.quad_method = RNA_enum_get(op->ptr, "quad_method"),
@@ -159,108 +158,78 @@ static int wm_alembic_export_exec(bContext *C, wmOperator *op)
static void ui_alembic_export_settings(uiLayout *layout, PointerRNA *imfptr)
{
- uiLayout *box;
- uiLayout *row;
- uiLayout *col;
+ uiLayout *box, *row, *col, *sub;
-# ifdef WITH_ALEMBIC_HDF5
- box = uiLayoutBox(layout);
- row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Archive Options:"), ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "compression_type", 0, NULL, ICON_NONE);
-# endif
+ uiLayoutSetPropSep(layout, true);
+ uiLayoutSetPropDecorate(layout, false);
box = uiLayoutBox(layout);
- row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Manual Transform:"), ICON_NONE);
+ uiItemL(box, IFACE_("Manual Transform"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "global_scale", 0, NULL, ICON_NONE);
+ uiItemR(box, imfptr, "global_scale", 0, NULL, ICON_NONE);
/* Scene Options */
box = uiLayoutBox(layout);
row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Scene Options:"), ICON_SCENE_DATA);
+ uiItemL(row, IFACE_("Scene Options"), ICON_SCENE_DATA);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "start", 0, NULL, ICON_NONE);
+ col = uiLayoutColumn(box, false);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "end", 0, NULL, ICON_NONE);
+ sub = uiLayoutColumn(col, true);
+ uiItemR(sub, imfptr, "start", 0, IFACE_("Frame Start"), ICON_NONE);
+ uiItemR(sub, imfptr, "end", 0, IFACE_("End"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "xsamples", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "xsamples", 0, IFACE_("Samples Transform"), ICON_NONE);
+ uiItemR(col, imfptr, "gsamples", 0, IFACE_("Geometry"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "gsamples", 0, NULL, ICON_NONE);
+ sub = uiLayoutColumn(col, true);
+ uiItemR(sub, imfptr, "sh_open", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
+ uiItemR(sub, imfptr, "sh_close", UI_ITEM_R_SLIDER, IFACE_("Close"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "sh_open", 0, NULL, ICON_NONE);
+ uiItemS(col);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "sh_close", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "selected", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "renderable_only", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "visible_objects_only", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "flatten", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "flatten", 0, NULL, ICON_NONE);
+ sub = uiLayoutColumnWithHeading(col, true, IFACE_("Only"));
+ uiItemR(sub, imfptr, "selected", 0, IFACE_("Selected Objects"), ICON_NONE);
+ uiItemR(sub, imfptr, "renderable_only", 0, IFACE_("Renderable Objects"), ICON_NONE);
+ uiItemR(sub, imfptr, "visible_objects_only", 0, IFACE_("Visible Objects"), ICON_NONE);
/* Object Data */
box = uiLayoutBox(layout);
row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Object Options:"), ICON_OBJECT_DATA);
+ uiItemL(row, IFACE_("Object Options"), ICON_OBJECT_DATA);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "uvs", 0, NULL, ICON_NONE);
+ col = uiLayoutColumn(box, false);
- row = uiLayoutRow(box, false);
+ uiItemR(col, imfptr, "uvs", 0, NULL, ICON_NONE);
+ row = uiLayoutRow(col, false);
+ uiLayoutSetActive(row, RNA_boolean_get(imfptr, "uvs"));
uiItemR(row, imfptr, "packuv", 0, NULL, ICON_NONE);
- uiLayoutSetEnabled(row, RNA_boolean_get(imfptr, "uvs"));
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "normals", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "normals", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "vcolors", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "face_sets", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "curves_as_mesh", 0, NULL, ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "vcolors", 0, NULL, ICON_NONE);
+ uiItemS(col);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "face_sets", 0, NULL, ICON_NONE);
+ sub = uiLayoutColumnWithHeading(col, true, IFACE_("Subdivisions"));
+ uiItemR(sub, imfptr, "apply_subdiv", 0, IFACE_("Apply"), ICON_NONE);
+ uiItemR(sub, imfptr, "subdiv_schema", 0, IFACE_("Use Schema"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "subdiv_schema", 0, NULL, ICON_NONE);
+ uiItemS(col);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "apply_subdiv", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "curves_as_mesh", 0, NULL, ICON_NONE);
+ col = uiLayoutColumn(box, false);
+ uiItemR(col, imfptr, "triangulate", 0, NULL, ICON_NONE);
+ sub = uiLayoutColumn(col, false);
+ uiLayoutSetActive(sub, RNA_boolean_get(imfptr, "triangulate"));
+ uiItemR(sub, imfptr, "quad_method", 0, IFACE_("Method Quads"), ICON_NONE);
+ uiItemR(sub, imfptr, "ngon_method", 0, IFACE_("Polygons"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "triangulate", 0, NULL, ICON_NONE);
-
- const bool triangulate = RNA_boolean_get(imfptr, "triangulate");
-
- row = uiLayoutRow(box, false);
- uiLayoutSetEnabled(row, triangulate);
- uiItemR(row, imfptr, "quad_method", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiLayoutSetEnabled(row, triangulate);
- uiItemR(row, imfptr, "ngon_method", 0, NULL, ICON_NONE);
-
- /* Object Data */
+ /* Particle Data */
box = uiLayoutBox(layout);
row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Particle Systems:"), ICON_PARTICLE_DATA);
+ uiItemL(row, IFACE_("Particle Systems"), ICON_PARTICLE_DATA);
col = uiLayoutColumn(box, true);
uiItemR(col, imfptr, "export_hair", 0, NULL, ICON_NONE);
@@ -420,8 +389,11 @@ void WM_OT_alembic_export(wmOperatorType *ot)
"Use Subdivision Schema",
"Export meshes using Alembic's subdivision schema");
- RNA_def_boolean(
- ot->srna, "apply_subdiv", 0, "Apply Subsurf", "Export subdivision surfaces as meshes");
+ RNA_def_boolean(ot->srna,
+ "apply_subdiv",
+ 0,
+ "Apply Subdivision Surface",
+ "Export subdivision surfaces as meshes");
RNA_def_boolean(ot->srna,
"curves_as_mesh",
@@ -429,13 +401,6 @@ void WM_OT_alembic_export(wmOperatorType *ot)
"Curves as Mesh",
"Export curves and NURBS surfaces as meshes");
- RNA_def_enum(ot->srna,
- "compression_type",
- rna_enum_abc_compression_items,
- ABC_ARCHIVE_OGAWA,
- "Compression",
- "");
-
RNA_def_float(
ot->srna,
"global_scale",
@@ -592,28 +557,25 @@ static int get_sequence_len(char *filename, int *ofs)
static void ui_alembic_import_settings(uiLayout *layout, PointerRNA *imfptr)
{
+
+ uiLayoutSetPropSep(layout, true);
+ uiLayoutSetPropDecorate(layout, false);
+
uiLayout *box = uiLayoutBox(layout);
uiLayout *row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Manual Transform:"), ICON_NONE);
+ uiItemL(row, IFACE_("Manual Transform"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "scale", 0, NULL, ICON_NONE);
+ uiItemR(box, imfptr, "scale", 0, NULL, ICON_NONE);
box = uiLayoutBox(layout);
row = uiLayoutRow(box, false);
- uiItemL(row, IFACE_("Options:"), ICON_NONE);
+ uiItemL(row, IFACE_("Options"), ICON_NONE);
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "relative_path", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "set_frame_range", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "is_sequence", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, false);
- uiItemR(row, imfptr, "validate_meshes", 0, NULL, ICON_NONE);
+ uiLayout *col = uiLayoutColumn(box, false);
+ uiItemR(col, imfptr, "relative_path", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "set_frame_range", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "is_sequence", 0, NULL, ICON_NONE);
+ uiItemR(col, imfptr, "validate_meshes", 0, NULL, ICON_NONE);
}
static void wm_alembic_import_draw(bContext *UNUSED(C), wmOperator *op)
@@ -684,6 +646,7 @@ void WM_OT_alembic_import(wmOperatorType *ot)
ot->name = "Import Alembic";
ot->description = "Load an Alembic archive";
ot->idname = "WM_OT_alembic_import";
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
ot->invoke = wm_alembic_import_invoke;
ot->exec = wm_alembic_import_exec;