Commit: af11e2f789b3b678f375012bac6fddce0c07fd3e
Author: Sybren A. Stüvel
Date:   Wed Feb 15 15:13:24 2017 +0100
Branches: temp-sybren-alembic
https://developer.blender.org/rBaf11e2f789b3b678f375012bac6fddce0c07fd3e

Alembic: allow copy_{z,y}up_from_{y,z}up() to be called with yup=zup

This allows in-place conversion between z-up and y-up, by passing the
same variable to both arguments.

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

M       source/blender/alembic/intern/abc_util.h

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

diff --git a/source/blender/alembic/intern/abc_util.h 
b/source/blender/alembic/intern/abc_util.h
index a7ac9df91c..a71b749d36 100644
--- a/source/blender/alembic/intern/abc_util.h
+++ b/source/blender/alembic/intern/abc_util.h
@@ -118,32 +118,36 @@ AbcObjectReader *create_reader(const 
Alembic::AbcGeom::IObject &object, ImportSe
 
 ABC_INLINE void copy_zup_from_yup(float zup[3], const float yup[3])
 {
+       const float old_yup1 = yup[1];  /* in case zup == yup */
        zup[0] = yup[0];
        zup[1] = -yup[2];
-       zup[2] = yup[1];
+       zup[2] = old_yup1;
 }
 
 ABC_INLINE void copy_zup_from_yup(short zup[3], const short yup[3])
 {
+       const float old_yup1 = yup[1];  /* in case zup == yup */
        zup[0] = yup[0];
        zup[1] = -yup[2];
-       zup[2] = yup[1];
+       zup[2] = old_yup1;
 }
 
 /* Copy from Z-up to Y-up. */
 
 ABC_INLINE void copy_yup_from_zup(float yup[3], const float zup[3])
 {
+       const float old_zup1 = zup[1];  /* in case yup == zup */
        yup[0] = zup[0];
        yup[1] = zup[2];
-       yup[2] = -zup[1];
+       yup[2] = -old_zup1;
 }
 
 ABC_INLINE void copy_yup_from_zup(short yup[3], const short zup[3])
 {
+       const float old_zup1 = zup[1];  /* in case yup == zup */
        yup[0] = zup[0];
        yup[1] = zup[2];
-       yup[2] = -zup[1];
+       yup[2] = -old_zup1;
 }
 
 #endif  /* __ABC_UTIL_H__ */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to