[Bf-blender-cvs] [dba6e170c4c] master: Alembic import: added unit test for mesh deformation.

Sybren A. Stüvel noreply at git.blender.org
Wed Apr 26 10:44:46 CEST 2017


Commit: dba6e170c4c0b156d367595a11860a38a2fd2f83
Author: Sybren A. Stüvel
Date:   Tue Apr 25 18:03:54 2017 +0200
Branches: master
https://developer.blender.org/rBdba6e170c4c0b156d367595a11860a38a2fd2f83

Alembic import: added unit test for mesh deformation.

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

M	tests/python/bl_alembic_import_test.py

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

diff --git a/tests/python/bl_alembic_import_test.py b/tests/python/bl_alembic_import_test.py
index 3e12cc0a844..ef5ae372333 100644
--- a/tests/python/bl_alembic_import_test.py
+++ b/tests/python/bl_alembic_import_test.py
@@ -85,7 +85,7 @@ class SimpleImportTest(unittest.TestCase):
         for ob in bpy.data.objects:
             self.assertEqual('Cube' in ob.name, ob.select)
 
-    def test_change_path(self):
+    def test_change_path_constraint(self):
         import math
 
         fname = 'cube-rotating1.abc'
@@ -122,6 +122,32 @@ class SimpleImportTest(unittest.TestCase):
         self.assertAlmostEqual(y, 0)
         self.assertAlmostEqual(z, 0)
 
+    def test_change_path_modifier(self):
+        import math
+
+        fname = 'animated-mesh.abc'
+        abc = self.testdir / fname
+        relpath = bpy.path.relpath(str(abc))
+
+        res = bpy.ops.wm.alembic_import(filepath=str(abc), as_background_job=False)
+        self.assertEqual({'FINISHED'}, res)
+        cube = bpy.context.active_object
+
+        # Check that the file loaded ok.
+        bpy.context.scene.frame_set(6)
+        self.assertAlmostEqual(-1, cube.data.vertices[0].co.x)
+        self.assertAlmostEqual(-1, cube.data.vertices[0].co.y)
+        self.assertAlmostEqual(0.5905638933181763, cube.data.vertices[0].co.z)
+
+        # Change path from absolute to relative. This should not break the animation.
+        bpy.context.scene.frame_set(1)
+        bpy.data.cache_files[fname].filepath = relpath
+        bpy.context.scene.frame_set(6)
+
+        self.assertAlmostEqual(1, cube.data.vertices[3].co.x)
+        self.assertAlmostEqual(1, cube.data.vertices[3].co.y)
+        self.assertAlmostEqual(0.5905638933181763, cube.data.vertices[3].co.z)
+
     def test_import_long_names(self):
         # This file contains very long names. The longest name is 4047 chars.
         bpy.ops.wm.alembic_import(




More information about the Bf-blender-cvs mailing list