Ejemplo n.º 1
0
    def test_add_solver(self):
        x = collection.Collection()
        x.create_node('mySolve')

        sol1 = solver.Solver()
        x.add_solver(sol1)
        sol_list1 = x.get_solver_list()
        self.assertEqual(len(sol_list1), 1)
        self.assertIn(sol1, sol_list1)
        self.assertIsInstance(sol_list1, list)

        sol3 = solver.Solver()
        x.add_solver(sol3)
        sol_list2 = x.get_solver_list()
        self.assertEqual(len(sol_list2), 2)
        self.assertEqual(sol3.get_data(), sol_list2[1].get_data())
        self.assertIsInstance(sol_list2, list)

        # Start from a new class.
        x_node = x.get_node()
        y = collection.Collection(node=x_node)
        sol4 = solver.Solver()
        y.add_solver(sol4)
        sol_list3 = y.get_solver_list()
        self.assertEqual(len(sol_list3), 3)
Ejemplo n.º 2
0
    def test_init(self):
        x = solver.Solver()
        y = solver.Solver()
        self.assertNotEqual(x.get_name(), y.get_name())

        name = 'mySolver'
        x = solver.Solver(name=name)
        self.assertEqual(x.get_name(), name)

        x = solver.Solver()
        x.set_solver_type(const.SOLVER_TYPE_LEVMAR)
        x_data = x.get_data()
        y = solver.Solver(data=x_data)
        y_data = y.get_data()
        self.assertEqual(x_data, y_data)
Ejemplo n.º 3
0
    def test_is_valid(self):
        """
        Collection validation.
        Once all pieces are connected, the collection is valid.
        """
        x = collection.Collection()
        x.create_node('myCollection')
        self.assertFalse(x.is_valid())

        # Solver
        sol = solver.Solver()
        x.add_solver(sol)
        self.assertFalse(x.is_valid())

        # Solver (with frame)
        f = frame.Frame(1)
        sol.add_frame(f)
        self.assertFalse(x.is_valid())

        # Marker / Bundle
        cam_tfm = maya.cmds.createNode('transform', name='camera1')
        cam_shp = maya.cmds.createNode('camera', name='cameraShape1')
        cam = camera.Camera(shape=cam_shp)
        bnd = bundle.Bundle().create_node()
        mkr = marker.Marker().create_node(cam=cam, bnd=bnd)
        x.add_marker(mkr)
        self.assertFalse(x.is_valid())

        # Attribute
        node = bnd.get_node()
        attr = attribute.Attribute(node=node, attr='translateX')
        x.add_attribute(attr)
        self.assertTrue(x.is_valid())
Ejemplo n.º 4
0
    def test_add_solver_list(self):
        x = collection.Collection()
        x.create_node('mySolve')

        sol_list0 = []
        for i in xrange(10):
            sol = solver.Solver()
            sol_list0.append(sol)
        x.add_solver_list(sol_list0)
        sol_list1 = x.get_solver_list()
        self.assertEqual(len(sol_list1), 10)
        self.assertIsInstance(sol_list1, list)

        x.add_solver_list([solver.Solver(), solver.Solver(), solver.Solver()])
        sol_list2 = x.get_solver_list()
        self.assertEqual(len(sol_list2), 13)
        self.assertIsInstance(sol_list2, list)
Ejemplo n.º 5
0
    def test_remove_solver_list(self):
        x = collection.Collection()
        x.create_node('mySolve')

        sol_list1 = []
        for i in xrange(10):
            sol = solver.Solver()
            sol_list1.append(sol)
        x.set_solver_list(sol_list1)
        self.assertEqual(x.get_solver_list_length(), 10)

        x.remove_solver_list(sol_list1)
        self.assertEqual(x.get_solver_list_length(), 0)
Ejemplo n.º 6
0
    def test_set_solver_list(self):
        x = collection.Collection()
        x.create_node('mySolve')

        sol_list1 = []
        for i in xrange(10):
            sol = solver.Solver()
            sol_list1.append(sol)
        x.set_solver_list(sol_list1)
        self.assertEqual(x.get_solver_list_length(), 10)

        # first half of list
        sol_list2 = sol_list1[:5]
        x.set_solver_list(sol_list2)
        self.assertEqual(x.get_solver_list_length(), 5)
Ejemplo n.º 7
0
    def _load_solver_list(self):
        """
        Get all Solvers from the attribute data on the Collection.

        :return: List of Solver objects.
        :rtype: list of Solver
        """
        solver_list = []
        attr_data = self._get_attr_data('solver_list')
        if isinstance(attr_data, list) is False:
            return solver_list
        for item in attr_data:
            if isinstance(item, dict) is False:
                continue
            sol = solver.Solver(data=item)
            solver_list.append(sol)
        return solver_list
Ejemplo n.º 8
0
    def test_get_solver_list(self):
        x = collection.Collection()
        x.create_node('mySolve')

        sol1 = solver.Solver()
        x.add_solver(sol1)

        sol_list = x.get_solver_list()
        self.assertIsInstance(sol_list, list)
        self.assertEqual(sol1.get_data(), sol_list[0].get_data())

        # Re-create the collection asset from the original node and ensure
        # everything still matches.
        x_node = x.get_node()
        y = collection.Collection(node=x_node)
        sol_list = y.get_solver_list()
        self.assertIsInstance(sol_list, list)
        self.assertEqual(len(sol_list), 1)
        self.assertEqual(sol1.get_data(), sol_list[0].get_data())