Commit: e975a50833b24e99cf3d7cebe7934c913fdc9078
Author: Kévin Dietrich
Date:   Fri Jun 24 14:48:51 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBe975a50833b24e99cf3d7cebe7934c913fdc9078

Cleanup: export options.

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

M       source/blender/alembic/ABC_alembic.h
M       source/blender/alembic/intern/abc_export_options.cc
M       source/blender/alembic/intern/abc_export_options.h
M       source/blender/alembic/intern/abc_mesh.cc
M       source/blender/alembic/intern/alembic_capi.cc
M       source/blender/editors/io/io_alembic.c
M       source/blender/makesrna/intern/rna_scene_api.c

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

diff --git a/source/blender/alembic/ABC_alembic.h 
b/source/blender/alembic/ABC_alembic.h
index dabccdd..adf86b9 100644
--- a/source/blender/alembic/ABC_alembic.h
+++ b/source/blender/alembic/ABC_alembic.h
@@ -32,45 +32,72 @@ struct DerivedMesh;
 struct Object;
 struct Scene;
 
+typedef struct AbcArchiveHandle AbcArchiveHandle;
+
 enum {
        ABC_ARCHIVE_OGAWA = 0,
        ABC_ARCHIVE_HDF5  = 1,
 };
 
-#define BL_ABC_NO_ERR 0
-#define BL_ABC_UNKNOWN_ERROR 1
-
-typedef struct AbcArchiveHandle AbcArchiveHandle;
-
 int ABC_get_version(void);
 
-int ABC_export(struct Scene *scene, struct bContext *C, const char *filepath,
-               double start, double end,
-               double xformstep, double geomstep,
-               double shutter_open, double shutter_close,
-               int selected_only,
-               int uvs, int normals,
-               int vcolors,
-               int force_meshes,
-               int flatten_hierarchy,
-               int vislayers, int renderable,
-               int facesets, int matindices,
-               int geogroups, int compression,
-               bool packuv, float scale);
-
-void ABC_import(struct bContext *C, const char *filepath, float scale, bool 
is_sequence, bool set_frame_range, int sequence_len, int offset);
-
-void ABC_get_vertex_cache(const char *filepath, float time, void *verts, int 
max_verts, const char *object_path, int is_mvert);
-
-int ABC_check_subobject_valid(const char *filename, const char *object_path);
+void ABC_export(
+        struct Scene *scene,
+        struct bContext *C,
+        const char *filepath,
+        const double start,
+        const double end,
+        const double xformstep,
+        const double geomstep,
+        const double shutter_open,
+        const double shutter_close,
+        const bool selected_only,
+        const bool uvs,
+        const bool normals,
+        const bool vcolors,
+        const bool apply_subdiv,
+        const bool flatten_hierarchy,
+        const bool vislayers,
+        const bool renderable,
+        const bool facesets,
+        const bool use_subdiv_schema,
+        const bool compression,
+        const bool packuv,
+        const float global_scale);
+
+void ABC_import(struct bContext *C,
+                const char *filepath,
+                float scale,
+                bool is_sequence,
+                bool set_frame_range,
+                int sequence_len,
+                int offset);
+
+void ABC_get_vertex_cache(const char *filepath,
+                          float time,
+                          void *verts,
+                          int max_verts,
+                          const char *object_path,
+                          int is_mvert);
+
+bool ABC_check_subobject_valid(const char *filename,
+                               const char *object_path);
 
 AbcArchiveHandle *ABC_create_handle(const char *filename);
 
 void ABC_free_handle(AbcArchiveHandle *handle);
 
-void ABC_get_transform(AbcArchiveHandle *handle, struct Object *ob, const char 
*object_path, float r_mat[4][4], float time, float scale);
-
-struct DerivedMesh *ABC_read_mesh(AbcArchiveHandle *handle, struct DerivedMesh 
*dm, const char *object_path, const float time);
+void ABC_get_transform(AbcArchiveHandle *handle,
+                       struct Object *ob,
+                       const char *object_path,
+                       float r_mat[4][4],
+                       float time,
+                       float scale);
+
+struct DerivedMesh *ABC_read_mesh(AbcArchiveHandle *handle,
+                                  struct DerivedMesh *dm,
+                                  const char *object_path,
+                                  const float time);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/alembic/intern/abc_export_options.cc 
b/source/blender/alembic/intern/abc_export_options.cc
index 8c74972..14ea3ec 100644
--- a/source/blender/alembic/intern/abc_export_options.cc
+++ b/source/blender/alembic/intern/abc_export_options.cc
@@ -49,9 +49,8 @@ ExportSettings::ExportSettings()
        , export_uvs(false)
        , export_vcols(false)
        , export_face_sets(false)
-       , export_mat_indices(false)
        , export_vweigths(false)
-       , export_subsurfs_as_meshes(false)
+       , apply_subdiv(false)
        , use_subdiv_schema(false)
        , export_child_hairs(true)
        , export_ogawa(true)
diff --git a/source/blender/alembic/intern/abc_export_options.h 
b/source/blender/alembic/intern/abc_export_options.h
index 4d4af01..a867340 100644
--- a/source/blender/alembic/intern/abc_export_options.h
+++ b/source/blender/alembic/intern/abc_export_options.h
@@ -47,10 +47,9 @@ struct ExportSettings {
        bool export_uvs;
        bool export_vcols;
        bool export_face_sets;
-       bool export_mat_indices;
        bool export_vweigths;
 
-       bool export_subsurfs_as_meshes;
+       bool apply_subdiv;
        bool use_subdiv_schema;
        bool export_child_hairs;
        bool export_ogawa;
diff --git a/source/blender/alembic/intern/abc_mesh.cc 
b/source/blender/alembic/intern/abc_mesh.cc
index 8dbc241..9ebb23a 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -316,7 +316,7 @@ AbcMeshWriter::AbcMeshWriter(Scene *scene,
                time_sampling = 0;
        }
 
-       if (!m_settings.export_subsurfs_as_meshes) {
+       if (!m_settings.apply_subdiv) {
                m_subsurf_mod = get_subsurf_modifier(m_scene, m_object);
                m_is_subd = (m_subsurf_mod != NULL);
        }
@@ -572,24 +572,15 @@ void AbcMeshWriter::writeArbGeoParams(DerivedMesh *dm)
        }
 
        if (m_first_frame && m_has_per_face_materials) {
-               std::vector<int32_t> faceVals;
-
-               if (m_settings.export_face_sets || 
m_settings.export_mat_indices) {
-                       get_material_indices(dm, faceVals);
-               }
+               std::vector<int32_t> material_indices;
 
                if (m_settings.export_face_sets) {
+                       get_material_indices(dm, material_indices);
+
                        OFaceSetSchema::Sample samp;
-                       samp.setFaces(Int32ArraySample(faceVals));
+                       samp.setFaces(Int32ArraySample(material_indices));
                        m_face_set.getSchema().set(samp);
                }
-
-               if (m_settings.export_mat_indices) {
-                       Alembic::AbcCoreAbstract::ArraySample 
samp(&(faceVals.front()),
-                                                                  
m_mat_indices.getDataType(),
-                                                                  
Alembic::Util::Dimensions(dm->getNumTessFaces(dm)));
-                       m_mat_indices.set(samp);
-               }
        }
 }
 
diff --git a/source/blender/alembic/intern/alembic_capi.cc 
b/source/blender/alembic/intern/alembic_capi.cc
index 8a25a42..e8e2d2b 100644
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@ -260,7 +260,7 @@ void ABC_get_vertex_cache(const char *filepath, float time, 
void *verts,
        delete archive;
 }
 
-int ABC_check_subobject_valid(const char *filename, const char *object_path)
+bool ABC_check_subobject_valid(const char *filename, const char *object_path)
 {
        IArchive *archive = open_archive(filename);
 
@@ -343,18 +343,29 @@ static void export_endjob(void *customdata)
        BKE_spacedata_draw_locks(false);
 }
 
-int ABC_export(Scene *scene, bContext *C, const char *filepath,
-               double start, double end,
-               double xformstep, double geomstep,
-               double shutter_open, double shutter_close,
-               int selected_only,
-               int uvs, int normals,
-               int vcolors,
-               int force_meshes,
-               int flatten_hierarchy,
-               int vislayers, int renderable,
-               int facesets, int matindices,
-               int use_subdiv_schema, int compression, bool packuv, float 
scale)
+void ABC_export(
+        Scene *scene,
+        bContext *C,
+        const char *filepath,
+        const double start,
+        const double end,
+        const double xformstep,
+        const double geomstep,
+        const double shutter_open,
+        const double shutter_close,
+        const bool selected_only,
+        const bool uvs,
+        const bool normals,
+        const bool vcolors,
+        const bool apply_subdiv,
+        const bool flatten_hierarchy,
+        const bool vislayers,
+        const bool renderable,
+        const bool facesets,
+        const bool use_subdiv_schema,
+        const bool compression,
+        const bool packuv,
+        const float global_scale)
 {
        ExportJobData *job = static_cast<ExportJobData 
*>(MEM_mallocN(sizeof(ExportJobData), "ExportJobData"));
        job->scene = scene;
@@ -369,21 +380,18 @@ int ABC_export(Scene *scene, bContext *C, const char 
*filepath,
        job->settings.shutter_open = shutter_open;
        job->settings.shutter_close = shutter_close;
        job->settings.selected_only = selected_only;
-       job->settings.export_uvs = uvs;
+       job->settings.export_face_sets = facesets;
        job->settings.export_normals = normals;
+       job->settings.export_uvs = uvs;
        job->settings.export_vcols = vcolors;
-       job->settings.export_subsurfs_as_meshes = force_meshes;
+       job->settings.apply_subdiv = apply_subdiv;
        job->settings.flatten_hierarchy = flatten_hierarchy;
        job->settings.visible_layers_only = vislayers;
        job->settings.renderable_only = renderable;
        job->settings.use_subdiv_schema = use_subdiv_schema;
        job->settings.export_ogawa = (compression == ABC_ARCHIVE_OGAWA);
        job->settings.pack_uv = packuv;
-       job->settings.global_scale = scale;
-
-       // Deprecated
-       job->settings.export_face_sets = facesets;
-       job->settings.export_mat_indices = matindices;
+       job->settings.global_scale = global_scale;
 
        if (job->settings.startframe > job->settings.endframe) {
                std::swap(job->settings.startframe, job->settings.endframe);
@@ -402,8 +410,6 @@ int ABC_export(Scene *scene, bContext *C, const char 
*filepath,
        WM_jobs_callbacks(wm_job, export_startjob, NULL, NULL, export_endjob);
 
        WM_jobs_start(CTX_wm_manager(C), wm_job);
-
-       return BL_ABC_NO_ERR;
 }
 
 /* ********************** Import file ********************** */
diff --git a/source/blender/editors/io/io_alembic.c 
b/source/blender/editors/io/io_alembic.c
index 552833b..3eeb9e6 100644
--- a/source/blender/editors/io/io_alembic.c
+++ b/source/blender/editors/io/io_alembic.c
@@ -90,43 +90,48 @@ static int wm_alembic_export_exec(bContext *C, wmOperator 
*op)
 
        char filename[FILE_MAX];
        RNA_string_get(op->ptr, "filepath", filename);
-       int start = RNA_int_get(op->ptr, "st

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to