Exemple #1
0
 def test_convert_single_bone(self):
     original = self._get_brres('simple.brres')
     converter = DaeConverter(
         Brres(self._get_tmp('.brres'), read_file=False),
         self._get_test_fname('simple_multi_bone_single_bind.dae'),
         flags=DaeConverter.SINGLE_BONE)
     converter.load_model()
     mdl0 = converter.mdl0
     self.assertEqual(len(mdl0.bones), 1)
     self.assertTrue(
         CheckPositions.positions_equal(original.models[0].vertices,
                                        mdl0.vertices))
Exemple #2
0
 def test_save_multi_influence_per_face_index(self):
     converter = DaeConverter(self._get_brres('koopaFigure.brres'),
                              self._get_tmp('.dae'))
     converter.save_model()
     original = converter.mdl0
     new = DaeConverter(self._get_tmp('.brres'),
                        converter.mdl_file).load_model()
     self.assertTrue(
         CheckPositions.positions_equal(original.vertices,
                                        new.vertices,
                                        rtol=0.1,
                                        atol=0.01))
     self.assertTrue(CheckPositions.bones_equal(original.bones, new.bones))
Exemple #3
0
 def test_save_and_load_polygons_bound_to_single_material(self):
     converter = DaeConverter(self._get_brres('castleflower1.brres'),
                              self._get_tmp('.dae'))
     converter.save_model()
     original = converter.mdl0
     new = DaeConverter(self._get_tmp('.brres'),
                        converter.mdl_file).load_model()
     self.assertTrue(
         CheckPositions.positions_equal(original.vertices,
                                        new.vertices,
                                        rtol=0.1,
                                        atol=0.01))
     self.assertTrue(
         CheckPositions.bones_equal(
             [x.linked_bone for x in original.objects],
             [x.linked_bone for x in new.objects]))
Exemple #4
0
 def test_convert_multi_bone_single_bind(self):
     original = self._get_brres(
         'simple_multi_bone_single_bind.brres').models[0]
     converter = DaeConverter(
         Brres(self._get_tmp('.brres'), read_file=False),
         self._get_test_fname('simple_multi_bone_single_bind.dae'))
     converter.load_model()
     mdl0 = converter.mdl0
     # test bones
     self.assertEqual(4, len(mdl0.bones))
     CheckPositions.bones_equal(mdl0.bones, original.bones, 0.01, 0.001)
     # Ensure that the bones are correctly linked
     expected_linked_bones = {
         'BlackNWhite1': 'simple001_BNW',
         'BlackNWhite2': 'simple011',
         'GreenCloud': 'simple002_Green',
         'Yellow': 'simple'
     }
     for x in mdl0.objects:
         self.assertEqual(expected_linked_bones[x.name], x.linked_bone.name)
     self.assertTrue(
         CheckPositions.positions_equal(original.vertices, mdl0.vertices))
Exemple #5
0
 def test_save_load_eq(self):
     original = self._get_brres('beginner_course.brres')
     converter = ObjConverter(original, self._get_tmp('.obj'),
                              encode=False).convert()
     encoder = ObjConverter(self._get_tmp('.brres'), converter.mdl_file).convert()
     self.assertTrue(CheckPositions.positions_equal(original.models[0].vertices, encoder.mdl0.vertices))