diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-02-23 18:19:14 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-04-06 17:04:31 +0300 |
commit | 997ff4bdc44eadb58f3e7fe9dd59706053b553c4 (patch) | |
tree | 3fa26fbfb8c83df14523124e983d430ccd633fed /source/blender/alembic | |
parent | d1696622b7791a6e809a5c76f343c319974d60c9 (diff) |
Alembic import: nicer progress updates
Diffstat (limited to 'source/blender/alembic')
-rw-r--r-- | source/blender/alembic/intern/alembic_capi.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index 44f49542828..7bc92a7c516 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -647,7 +647,7 @@ static void import_startjob(void *user_data, short *stop, short *do_update, floa std::cerr << "Object " << reader->name() << " in Alembic file " << data->filename << " is invalid.\n"; } - *data->progress = 0.1f + 0.6f * (++i / size); + *data->progress = 0.1f + 0.3f * (++i / size); *data->do_update = true; if (G.is_break) { @@ -703,7 +703,7 @@ static void import_startjob(void *user_data, short *stop, short *do_update, floa } } - *data->progress = 0.7f + 0.3f * (++i / size); + *data->progress = 0.4f + 0.3f * (++i / size); *data->do_update = true; if (G.is_break) { @@ -713,9 +713,18 @@ static void import_startjob(void *user_data, short *stop, short *do_update, floa } /* Setup transformations and constraints. */ + i = 0; for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) { AbcObjectReader *reader = *iter; reader->setupObjectTransform(0.0f); + + *data->progress = 0.7f + 0.3f * (++i / size); + *data->do_update = true; + + if (G.is_break) { + data->was_cancelled = true; + return; + } } } |