diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-04-21 12:04:47 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-04-21 15:11:49 +0300 |
commit | 099816587a0e064fb6a52c82a737ae8814cf21df (patch) | |
tree | 250508ab6196323c32bfec0ab516f5b8f0fff2e5 /source/blender/alembic/intern/alembic_capi.cc | |
parent | df84082c70dafde0aa3a6a474f7885788e507ae1 (diff) |
Alembic: Construct ISampleSelector once and pass along
No longer passing time as float and constructing ISampleSelectors all
over the place. Instead, just construct an ISampleSelector once and
pass it along.
Diffstat (limited to 'source/blender/alembic/intern/alembic_capi.cc')
-rw-r--r-- | source/blender/alembic/intern/alembic_capi.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index e44f66b7e56..52a87d7c165 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -704,12 +704,13 @@ static void import_startjob(void *user_data, short *stop, short *do_update, floa chrono_t min_time = std::numeric_limits<chrono_t>::max(); chrono_t max_time = std::numeric_limits<chrono_t>::min(); + ISampleSelector sample_sel(0.0f); std::vector<AbcObjectReader *>::iterator iter; for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) { AbcObjectReader *reader = *iter; if (reader->valid()) { - reader->readObjectData(data->bmain, 0.0f); + reader->readObjectData(data->bmain, sample_sel); min_time = std::min(min_time, reader->minTime()); max_time = std::max(max_time, reader->maxTime()); @@ -922,6 +923,7 @@ DerivedMesh *ABC_read_mesh(CacheReader *reader, } const ObjectHeader &header = iobject.getHeader(); + ISampleSelector sample_sel(time); if (IPolyMesh::matches(header)) { if (ob->type != OB_MESH) { @@ -929,7 +931,7 @@ DerivedMesh *ABC_read_mesh(CacheReader *reader, return NULL; } - return abc_reader->read_derivedmesh(dm, time, read_flag, err_str); + return abc_reader->read_derivedmesh(dm, sample_sel, read_flag, err_str); } else if (ISubD::matches(header)) { if (ob->type != OB_MESH) { @@ -937,7 +939,7 @@ DerivedMesh *ABC_read_mesh(CacheReader *reader, return NULL; } - return abc_reader->read_derivedmesh(dm, time, read_flag, err_str); + return abc_reader->read_derivedmesh(dm, sample_sel, read_flag, err_str); } else if (IPoints::matches(header)) { if (ob->type != OB_MESH) { @@ -945,7 +947,7 @@ DerivedMesh *ABC_read_mesh(CacheReader *reader, return NULL; } - return abc_reader->read_derivedmesh(dm, time, read_flag, err_str); + return abc_reader->read_derivedmesh(dm, sample_sel, read_flag, err_str); } else if (ICurves::matches(header)) { if (ob->type != OB_CURVE) { @@ -953,7 +955,7 @@ DerivedMesh *ABC_read_mesh(CacheReader *reader, return NULL; } - return abc_reader->read_derivedmesh(dm, time, read_flag, err_str); + return abc_reader->read_derivedmesh(dm, sample_sel, read_flag, err_str); } *err_str = "Unsupported object type: verify object path"; // or poke developer |