Example #1
0
    def testDefaultExpression(self):

        # create opholder and check the default expression we asked for works

        fnOH = IECoreNuke.FnOpHolder.create("op", "add", 1)
        self.assertEqual(fnOH.node().knob("parm_a").toScript(),
                         '{"frame * 2"}')
        self.failUnless(fnOH.node().knob("parm_a").isAnimated())

        self.assertEqual(nuke.frame(), 1)
        self.assertEqual(fnOH.node().knob("parm_a").getValue(), 2)

        # remove the expression, cut and paste the node, and make sure
        # it doesn't reappear

        fnOH.node().knob("parm_a").clearAnimated()
        self.failIf(fnOH.node().knob("parm_a").isAnimated())

        nuke.nodeCopy("test/IECoreNuke/parameterisedHolder.nk")

        nuke.scriptClear()

        n = nuke.nodePaste("test/IECoreNuke/parameterisedHolder.nk")

        fnOH = IECoreNuke.FnOpHolder(n)
        self.assertEqual(fnOH.node().knob("parm_a").toScript(), "2")
Example #2
0
    def testClassParameterSetClassAndValues(self):

        fnOH = IECoreNuke.FnOpHolder.create("test", "classParameterTest", 1)

        with fnOH.parameterModificationContext() as parameterised:

            parameterised["cp"].setClass("maths/multiply", 2)
            parameterised["cp"]["a"].setNumericValue(10)
            parameterised["cp"]["a"].setNumericValue(20)

        self.__checkParameterKnobs(parameterised.parameters(), fnOH.node())

        nuke.nodeCopy("test/IECoreNuke/parameterisedHolder.nk")

        nuke.scriptClear()

        n = nuke.nodePaste("test/IECoreNuke/parameterisedHolder.nk")

        fnOH = IECoreNuke.FnOpHolder(n)

        parameterised2 = fnOH.getParameterised()[0]

        self.assertEqual(parameterised.parameters().getValue(),
                         parameterised2.parameters().getValue())