Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@stuvel.eu>2017-04-25 19:03:54 +0300
committerSybren A. Stüvel <sybren@stuvel.eu>2017-04-26 11:42:20 +0300
commitdba6e170c4c0b156d367595a11860a38a2fd2f83 (patch)
tree5de9a8d13b2ffd4f3421b15253be42855f70acb0 /tests/python
parent9623d93f14155cc4a1188385bb60845c5ac9d50a (diff)
Alembic import: added unit test for mesh deformation.
Diffstat (limited to 'tests/python')
-rw-r--r--tests/python/bl_alembic_import_test.py28
1 files changed, 27 insertions, 1 deletions
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(