Commit: fb2f100d8949463358fbb3a1ae64c425198fb033 Author: Sybren A. Stüvel Date: Fri Feb 14 15:41:02 2020 +0100 Branches: master https://developer.blender.org/rBfb2f100d8949463358fbb3a1ae64c425198fb033
Cleanup: Alembic, renamed and moved convert_matrix function The `convert_matrix()` function just converts between the Alembic and Blender matrix data types, and doesn't do any coordinate system conversion. To clarify this, the function has now been renamed to `convert_matrix_datatype()`. I also moved the implementations next to each other in the source file, so that it's visible that there are actually two of them. No functional changes. =================================================================== M source/blender/alembic/intern/abc_object.cc M source/blender/alembic/intern/abc_transform.cc M source/blender/alembic/intern/abc_util.cc M source/blender/alembic/intern/abc_util.h =================================================================== diff --git a/source/blender/alembic/intern/abc_object.cc b/source/blender/alembic/intern/abc_object.cc index 4799ed557c8..76aec9ad998 100644 --- a/source/blender/alembic/intern/abc_object.cc +++ b/source/blender/alembic/intern/abc_object.cc @@ -339,7 +339,7 @@ void AbcObjectReader::read_matrix(float r_mat[4][4] /* local matrix */, } const Imath::M44d matrix = get_matrix(schema, time); - convert_matrix(matrix, r_mat); + convert_matrix_datatype(matrix, r_mat); copy_m44_axis_swap(r_mat, r_mat, ABC_ZUP_FROM_YUP); /* Convert from Maya to Blender camera orientation. Children of this camera diff --git a/source/blender/alembic/intern/abc_transform.cc b/source/blender/alembic/intern/abc_transform.cc index 838e657fee9..5135af131b1 100644 --- a/source/blender/alembic/intern/abc_transform.cc +++ b/source/blender/alembic/intern/abc_transform.cc @@ -105,7 +105,7 @@ void AbcTransformWriter::do_write() yup_mat[3][3] /= m_settings.global_scale; /* normalise the homogeneous component */ } - m_matrix = convert_matrix(yup_mat); + m_matrix = convert_matrix_datatype(yup_mat); m_sample.setMatrix(m_matrix); m_sample.setInheritsXforms(m_inherits_xform); m_schema.set(m_sample); diff --git a/source/blender/alembic/intern/abc_util.cc b/source/blender/alembic/intern/abc_util.cc index 56978374512..9a4d4e1a8cc 100644 --- a/source/blender/alembic/intern/abc_util.cc +++ b/source/blender/alembic/intern/abc_util.cc @@ -86,7 +86,7 @@ std::string get_object_dag_path_name(const Object *const ob, Object *dupli_paren return name; } -Imath::M44d convert_matrix(float mat[4][4]) +Imath::M44d convert_matrix_datatype(float mat[4][4]) { Imath::M44d m; @@ -99,6 +99,15 @@ Imath::M44d convert_matrix(float mat[4][4]) return m; } +void convert_matrix_datatype(const Imath::M44d &xform, float r_mat[4][4]) +{ + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + r_mat[i][j] = static_cast<float>(xform[i][j]); + } + } +} + void split(const std::string &s, const char delim, std::vector<std::string> &tokens) { tokens.clear(); @@ -224,15 +233,6 @@ void copy_m44_axis_swap(float dst_mat[4][4], float src_mat[4][4], AbcAxisSwapMod mul_m4_m4m4(dst_mat, dst_mat, dst_scale_mat); } -void convert_matrix(const Imath::M44d &xform, float r_mat[4][4]) -{ - for (int i = 0; i < 4; i++) { - for (int j = 0; j < 4; j++) { - r_mat[i][j] = static_cast<float>(xform[i][j]); - } - } -} - /* Recompute transform matrix of object in new coordinate system * (from Z-Up to Y-Up). */ void create_transform_matrix(Object *obj, diff --git a/source/blender/alembic/intern/abc_util.h b/source/blender/alembic/intern/abc_util.h index bfeded37c12..0b3462c2132 100644 --- a/source/blender/alembic/intern/abc_util.h +++ b/source/blender/alembic/intern/abc_util.h @@ -52,7 +52,9 @@ std::string get_id_name(const Object *const ob); std::string get_object_dag_path_name(const Object *const ob, Object *dupli_parent); /* Convert from float to Alembic matrix representations. Does NOT convert from Z-up to Y-up. */ -Imath::M44d convert_matrix(float mat[4][4]); +Imath::M44d convert_matrix_datatype(float mat[4][4]); +/* Convert from Alembic to float matrix representations. Does NOT convert from Y-up to Z-up. */ +void convert_matrix_datatype(const Imath::M44d &xform, float r_mat[4][4]); typedef enum { ABC_MATRIX_WORLD = 1, @@ -70,9 +72,6 @@ template<class TContainer> bool begins_with(const TContainer &input, const TCont return input.size() >= match.size() && std::equal(match.begin(), match.end(), input.begin()); } -/* Convert from Alembic to float matrix representations. Does NOT convert from Y-up to Z-up. */ -void convert_matrix(const Imath::M44d &xform, float r_mat[4][4]); - template<typename Schema> void get_min_max_time_ex(const Schema &schema, chrono_t &min, chrono_t &max) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs