Commit: 834e026ec3544df1e6b42d8f4750e42d1e0b8364
Author: Kévin Dietrich
Date:   Thu Jun 2 19:02:53 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB834e026ec3544df1e6b42d8f4750e42d1e0b8364

Cleanupo: de-duplicate some code.

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

M       source/blender/alembic/intern/alembic_capi.cc

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

diff --git a/source/blender/alembic/intern/alembic_capi.cc 
b/source/blender/alembic/intern/alembic_capi.cc
index 447536a..24b20c0 100644
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@ -422,13 +422,6 @@ static void visit_object(const IObject &object,
        }
 }
 
-static void create_readers(IArchive &archive,
-                           std::vector<AbcObjectReader *> &readers,
-                           ImportSettings &settings)
-{
-       visit_object(archive.getTop(), readers, settings);
-}
-
 static Object *find_object(Scene *scene, const std::string &name)
 {
        Base *base;
@@ -501,7 +494,7 @@ static void import_startjob(void *cjv, short *stop, short 
*do_update, float *pro
        *data->progress = 0.05f;
 
        std::vector<AbcObjectReader *> readers;
-       create_readers(archive, readers, data->settings);
+       visit_object(archive.getTop(), readers, data->settings);
 
        *data->do_update = true;
        *data->progress = 0.1f;
@@ -562,61 +555,29 @@ void ABC_import(bContext *C, const char *filepath, float 
scale, bool is_sequence
 
 /* ******************************* */
 
-static IXform get_xform(const IObject &object, const std::string &name, bool 
&found, bool &locator)
+void ABC_get_transform(Object *ob, const char *filepath, const char 
*object_path, float r_mat[4][4], float time)
 {
-       locator = false;
-
-       if (!object.valid()) {
-               return IXform();
-       }
-
-       std::vector<std::string> tokens;
-       split(name, '/', tokens);
-
-       IObject tmp = object;
-
-       std::vector<std::string>::iterator iter;
-       for (iter = tokens.begin(); iter != tokens.end(); ++iter) {
-               IObject child = tmp.getChild(*iter);
-
-               if (!child.valid()) {
-                       continue;
-               }
-
-               tmp = child;
-       }
+       IArchive archive = open_archive(filepath);
 
-       if (!tmp.valid()) {
-               return IXform();
+       if (!archive.valid()) {
+               return;
        }
 
-       found = true;
+       IObject tmp;
+       find_iobject(archive.getTop(), tmp, object_path);
 
-#if 1
-       const MetaData &md = tmp.getMetaData();
+       IXform ixform;
 
-       if (IXform::matches(md)/* && is_locator(tmp)*/) {
-               return IXform(tmp, kWrapExisting);
+       if (IXform::matches(tmp.getHeader())) {
+               ixform = IXform(tmp, kWrapExisting);
        }
-#endif
-
-       return IXform(tmp.getParent(), kWrapExisting);
-}
-
-void ABC_get_transform(Object *ob, const char *filepath, const char 
*object_path, float r_mat[4][4], float time)
-{
-       IArchive archive = open_archive(filepath);
-
-       if (!archive.valid()) {
-               return;
+       else {
+               ixform = IXform(tmp.getParent(), kWrapExisting);
        }
 
-       bool found = false;
-       bool locator = false;
-       const IXform ixform = get_xform(archive.getTop(), object_path, found, 
locator);
-       const IXformSchema xform_schema = ixform.getSchema();
+       IXformSchema schema = ixform.getSchema();
 
-       if (!found || !xform_schema.valid()) {
+       if (!!schema.valid()) {
                return;
        }

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

Reply via email to