diff options
Diffstat (limited to 'source/blender/io/alembic/intern/abc_reader_object.cc')
-rw-r--r-- | source/blender/io/alembic/intern/abc_reader_object.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_object.cc b/source/blender/io/alembic/intern/abc_reader_object.cc index dac0890e7c5..a698eeca8f1 100644 --- a/source/blender/io/alembic/intern/abc_reader_object.cc +++ b/source/blender/io/alembic/intern/abc_reader_object.cc @@ -97,7 +97,9 @@ void AbcObjectReader::object(Object *ob) m_object = ob; } -static Imath::M44d blend_matrices(const Imath::M44d &m0, const Imath::M44d &m1, const float weight) +static Imath::M44d blend_matrices(const Imath::M44d &m0, + const Imath::M44d &m1, + const double weight) { float mat0[4][4], mat1[4][4], ret[4][4]; @@ -108,16 +110,16 @@ static Imath::M44d blend_matrices(const Imath::M44d &m0, const Imath::M44d &m1, convert_matrix_datatype(m0, mat0); convert_matrix_datatype(m1, mat1); - interp_m4_m4m4(ret, mat0, mat1, weight); + interp_m4_m4m4(ret, mat0, mat1, static_cast<float>(weight)); return convert_matrix_datatype(ret); } -Imath::M44d get_matrix(const IXformSchema &schema, const float time) +Imath::M44d get_matrix(const IXformSchema &schema, const chrono_t time) { Alembic::AbcGeom::index_t i0, i1; Alembic::AbcGeom::XformSample s0, s1; - const float weight = get_weight_and_index( + const double weight = get_weight_and_index( time, schema.getTimeSampling(), schema.getNumSamples(), i0, i1); schema.get(s0, Alembic::AbcGeom::ISampleSelector(i0)); @@ -148,7 +150,7 @@ bool AbcObjectReader::topology_changed(const Mesh * /*existing_mesh*/, return false; } -void AbcObjectReader::setupObjectTransform(const float time) +void AbcObjectReader::setupObjectTransform(const chrono_t time) { bool is_constant = false; float transform_from_alembic[4][4]; @@ -214,7 +216,7 @@ Alembic::AbcGeom::IXform AbcObjectReader::xform() } void AbcObjectReader::read_matrix(float r_mat[4][4] /* local matrix */, - const float time, + const chrono_t time, const float scale, bool &is_constant) { |