Exemplo n.º 1
0
    def testConnectionGaps(self):

        a = GafferTest.AddNode()
        n = GafferTest.InputGeneratorNode()

        n.inputs[0].setInput(a["sum"])
        n.inputs[1].setInput(a["sum"])
        n.inputs[2].setInput(a["sum"])

        self.assertEqual(len(n.inputs), 4)
        self.assertTrue(n["in"].isSame(n.inputs[0]))
        self.assertTrue(n["in1"].isSame(n.inputs[1]))
        self.assertTrue(n["in2"].isSame(n.inputs[2]))
        self.assertTrue(n["in3"].isSame(n.inputs[3]))

        self.assertTrue(n["in"].getInput(), a["sum"])
        self.assertTrue(n["in1"].getInput(), a["sum"])
        self.assertTrue(n["in2"].getInput(), a["sum"])
        self.assertTrue(n["in3"].getInput() is None)

        n.inputs[1].setInput(None)

        self.assertEqual(len(n.inputs), 4)
        self.assertTrue(n["in"].isSame(n.inputs[0]))
        self.assertTrue(n["in1"].isSame(n.inputs[1]))
        self.assertTrue(n["in2"].isSame(n.inputs[2]))
        self.assertTrue(n["in3"].isSame(n.inputs[3]))

        self.assertTrue(n["in"].getInput(), a["sum"])
        self.assertTrue(n["in1"].getInput() is None)
        self.assertTrue(n["in2"].getInput(), a["sum"])
        self.assertTrue(n["in3"].getInput() is None)
Exemplo n.º 2
0
    def test(self):

        a = GafferTest.AddNode()
        n = GafferTest.InputGeneratorNode()

        self.assertTrue("in" in n)
        self.assertTrue("in1" not in n)
        self.assertEqual(len(n.inputs), 1)
        self.assertTrue(n["in"].isSame(n.inputs[0]))

        n.inputs[0].setInput(a["sum"])

        self.assertEqual(len(n.inputs), 2)
        self.assertTrue("in" in n)
        self.assertTrue("in1" in n)
        self.assertTrue(n["in"].isSame(n.inputs[0]))
        self.assertTrue(n["in1"].isSame(n.inputs[1]))
        self.assertTrue(n["in"].getInput().isSame(a["sum"]))
        self.assertEqual(n["in1"].getInput(), None)

        n.inputs[0].setInput(None)
        self.assertTrue("in" in n)
        self.assertTrue("in1" not in n)
        self.assertEqual(len(n.inputs), 1)
        self.assertTrue(n["in"].isSame(n.inputs[0]))
Exemplo n.º 3
0
    def testMakeConnectionAndUndoAndRedo(self):

        s = Gaffer.ScriptNode()
        s["a"] = GafferTest.AddNode()
        s["n"] = GafferTest.InputGeneratorNode()

        s["n"]["__customPlug"] = Gaffer.V2fPlug(flags=Gaffer.Plug.Flags.Default
                                                | Gaffer.Plug.Flags.Dynamic)
        self.assertTrue("__customPlug" in s["n"])

        with Gaffer.UndoContext(s):
            s["n"]["in"].setInput(s["a"]["sum"])

        self.assertEqual(len(s["n"].inputs), 2)
        self.assertTrue(s["n"].inputs[0].isSame(s["n"]["in"]))
        self.assertTrue(s["n"].inputs[1].isSame(s["n"]["in1"]))
        self.assertTrue("in" in s["n"])
        self.assertTrue("in1" in s["n"])
        self.assertTrue("__customPlug" in s["n"])

        s.undo()

        self.assertEqual(len(s["n"].inputs), 1)
        self.assertTrue(s["n"].inputs[0].isSame(s["n"]["in"]))
        self.assertTrue("in" in s["n"])
        self.assertFalse("in1" in s["n"])
        self.assertTrue("__customPlug" in s["n"])

        s.redo()

        self.assertEqual(len(s["n"].inputs), 2)
        self.assertTrue(s["n"].inputs[0].isSame(s["n"]["in"]))
        self.assertTrue(s["n"].inputs[1].isSame(s["n"]["in1"]))
        self.assertTrue("in" in s["n"])
        self.assertTrue("in1" in s["n"])
        self.assertTrue("__customPlug" in s["n"])

        s.undo()

        self.assertEqual(len(s["n"].inputs), 1)
        self.assertTrue(s["n"].inputs[0].isSame(s["n"]["in"]))
        self.assertTrue("in" in s["n"])
        self.assertFalse("in1" in s["n"])
        self.assertTrue("__customPlug" in s["n"])
Exemplo n.º 4
0
    def testDeleteInputNodeAndUndoAndRedo(self):

        s = Gaffer.ScriptNode()
        s["a"] = GafferTest.AddNode()
        s["n"] = GafferTest.InputGeneratorNode()

        s["n"]["in"].setInput(s["a"]["sum"])
        s["n"]["in1"].setInput(s["a"]["sum"])
        s["n"]["in2"].setInput(s["a"]["sum"])

        n = s["n"]

        self.assertEqual(len(s["n"].inputs), 4)
        self.assertTrue(s["n"]["in"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in1"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in2"].getInput().isSame(s["a"]["sum"]))

        with Gaffer.UndoContext(s):
            s.deleteNodes(s, Gaffer.StandardSet([s["a"]]))

        self.assertFalse("a" in s)

        s.undo()

        self.assertEqual(len(s["n"].inputs), 4)
        self.assertTrue(s["n"]["in"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in1"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in2"].getInput().isSame(s["a"]["sum"]))

        s.redo()

        self.assertFalse("a" in s)

        s.undo()

        self.assertEqual(len(s["n"].inputs), 4)
        self.assertTrue(s["n"]["in"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in1"].getInput().isSame(s["a"]["sum"]))
        self.assertTrue(s["n"]["in2"].getInput().isSame(s["a"]["sum"]))
Exemplo n.º 5
0
    def testMaximumInputs(self):

        a = GafferTest.AddNode()
        n = GafferTest.InputGeneratorNode()

        # connect all inputs

        for i in range(0, 6):
            n.inputs[i].setInput(a["sum"])

        self.assertEqual(len(n.inputs), 6)
        for i in range(0, 6):
            self.assertTrue(n.inputs[i].getInput().isSame(a["sum"]))

        # check that removing the one before the last
        # leaves the last in place.

        n.inputs[4].setInput(None)
        self.assertEqual(len(n.inputs), 6)
        for i in range(0, 6):
            if i != 4:
                self.assertTrue(n.inputs[i].getInput().isSame(a["sum"]))
            else:
                self.assertTrue(n.inputs[i].getInput() is None)
Exemplo n.º 6
0
    def testSerialisation(self):

        s = Gaffer.ScriptNode()
        s["a"] = GafferTest.AddNode()
        s["n"] = GafferTest.InputGeneratorNode()

        s["n"].inputs[0].setInput(s["a"]["sum"])
        s["n"].inputs[1].setInput(s["a"]["sum"])
        s["n"].inputs[2].setInput(s["a"]["sum"])
        s["n"].inputs[1].setInput(None)

        self.assertEqual(len(s["n"].inputs), 4)
        self.assertTrue(s["n"]["in"].isSame(s["n"].inputs[0]))
        self.assertTrue(s["n"]["in1"].isSame(s["n"].inputs[1]))
        self.assertTrue(s["n"]["in2"].isSame(s["n"].inputs[2]))
        self.assertTrue(s["n"]["in3"].isSame(s["n"].inputs[3]))

        self.assertTrue(s["n"]["in"].getInput(), s["a"]["sum"])
        self.assertTrue(s["n"]["in1"].getInput() is None)
        self.assertTrue(s["n"]["in2"].getInput(), s["a"]["sum"])
        self.assertTrue(s["n"]["in3"].getInput() is None)

        s2 = Gaffer.ScriptNode()
        s2.execute(s.serialise())