Пример #1
0
    def testPatternMatching(self):

        n = GafferTest.StringInOutNode()
        self.assertHashesValid(n)

        d = Gaffer.DeleteContextVariablesComputeNode()
        d["in"] = Gaffer.StringPlug()
        d["out"] = Gaffer.StringPlug(direction=Gaffer.Plug.Direction.Out)
        d["in"].setInput(n["out"])

        c = Gaffer.ContextVariablesComputeNode()
        c["in"] = Gaffer.StringPlug()
        c["out"] = Gaffer.StringPlug(direction=Gaffer.Plug.Direction.Out)
        c["in"].setInput(d["out"])

        n["in"].setValue("$a1_$a2_$b1_$b2_$c1_$c2")
        self.assertEqual(c["out"].getValue(), "_____")

        c["variables"].addMember("a1", IECore.StringData("A1"))
        c["variables"].addMember("a2", IECore.StringData("A2"))
        c["variables"].addMember("b1", IECore.StringData("B1"))
        c["variables"].addMember("b2", IECore.StringData("B2"))
        c["variables"].addMember("c1", IECore.StringData("C1"))
        c["variables"].addMember("c2", IECore.StringData("C2"))
        self.assertEqual(c["out"].getValue(), "A1_A2_B1_B2_C1_C2")

        d["variables"].setValue("a* c*")

        self.assertEqual(c["out"].getValue(), "__B1_B2__")
Пример #2
0
    def testDirtyPropagation(self):

        n = GafferTest.StringInOutNode()

        d = Gaffer.DeleteContextVariablesComputeNode()
        d["in"] = Gaffer.StringPlug()
        d["out"] = Gaffer.StringPlug(direction=Gaffer.Plug.Direction.Out)
        d["in"].setInput(n["out"])

        # deleting a variable should dirty the output:
        dirtied = GafferTest.CapturingSlot(d.plugDirtiedSignal())
        d["variables"].setValue("a")
        self.failUnless(d["out"] in [p[0] for p in dirtied])
Пример #3
0
    def test(self):

        n = GafferTest.StringInOutNode()

        d = Gaffer.DeleteContextVariablesComputeNode()
        d["in"] = Gaffer.StringPlug()
        d["out"] = Gaffer.StringPlug(direction=Gaffer.Plug.Direction.Out)
        d["in"].setInput(n["out"])

        c = Gaffer.ContextVariablesComputeNode()
        c["in"] = Gaffer.StringPlug()
        c["out"] = Gaffer.StringPlug(direction=Gaffer.Plug.Direction.Out)
        c["in"].setInput(d["out"])

        n["in"].setValue("$a")
        self.assertEqual(c["out"].getValue(), "")

        c["variables"].addMember("a", IECore.StringData("A"))
        self.assertEqual(c["out"].getValue(), "A")

        d["variables"].setValue("a")
        self.assertEqual(c["out"].getValue(), "")