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)
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]))
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"])
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"]))
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)
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())