Exemple #1
0
	def testType( self ) :
	
		n = Gaffer.OpHolder()
		self.assertEqual( n.typeName(), "Gaffer::OpHolder" )
		self.failUnless( n.isInstanceOf( Gaffer.ParameterisedHolderComputeNode.staticTypeId() ) )
		self.failUnless( n.isInstanceOf( Gaffer.ComputeNode.staticTypeId() ) )
		self.failUnless( n.isInstanceOf( Gaffer.DependencyNode.staticTypeId() ) )
Exemple #2
0
	def testFileSequenceParameters( self ) :
	
		class TestOp( IECore.Op ) :
		
			def __init__( self ) :
			
				IECore.Op.__init__( self, "", IECore.IntParameter( "result", "", 0 ) )
				
				self.parameters().addParameter(
				
					IECore.FileSequenceParameter(
						"sequence",
						"",
						""
					)
				)
				
			def doOperation( self, args ) :
			
				return IECore.IntData( len( self["sequence"].getFileSequenceValue().fileNames() ) )
	
		holder = Gaffer.OpHolder()
		holder.setParameterised( TestOp() )
		holder["parameters"]["sequence"].setValue( "test.###.exr 1-3" )
		
		self.assertEqual( holder["result"].getValue(), 3 )
Exemple #3
0
	def testRunTimeTyped( self ) :
	
		n = Gaffer.OpHolder()
		
		self.assertEqual( n.typeName(), "Gaffer::OpHolder" )
		self.assertEqual( IECore.RunTimeTyped.typeNameFromTypeId( n.typeId() ), "Gaffer::OpHolder" )
		self.assertEqual( IECore.RunTimeTyped.baseTypeId( n.typeId() ), Gaffer.ParameterisedHolderComputeNode.staticTypeId() )
Exemple #4
0
    def testCompute(self):

        m = IECore.MeshPrimitive.createPlane(
            IECore.Box2f(IECore.V2f(-1), IECore.V2f(1)))
        self.failUnless("P" in m)
        self.failUnless("renamed" not in m)

        n = Gaffer.OpHolder()
        opSpec = GafferTest.ParameterisedHolderTest.classSpecification(
            "primitive/renameVariables", "IECORE_OP_PATHS")[:-1]
        n.setOp(*opSpec)

        n["parameters"]["input"].setValue(m)
        n["parameters"]["names"].setValue(
            IECore.StringVectorData(["P renamed"]))

        m2 = n["result"].getValue()

        self.failUnless("P" not in m2)
        self.failUnless("renamed" in m2)

        n["parameters"]["names"].setValue(
            IECore.StringVectorData(["P renamedAgain"]))

        self.failUnless("P" not in m2)
        self.failUnless("renamed" in m2)
Exemple #5
0
	def testAffects( self ) :
	
		n = Gaffer.OpHolder()
		opSpec = GafferTest.ParameterisedHolderTest.classSpecification( "primitive/renameVariables", "IECORE_OP_PATHS" )[:-1]
		n.setOp( *opSpec )
		
		a = n.affects( n["parameters"]["input"] )
		self.assertEqual( len( a ), 1 )
		self.failUnless( a[0].isSame( n["result"] ) )
Exemple #6
0
	def testSerialise( self ) :
	
		s = Gaffer.ScriptNode()
		
		s["op"] = Gaffer.OpHolder()
		opSpec = GafferTest.ParameterisedHolderTest.classSpecification( "primitive/renameVariables", "IECORE_OP_PATHS" )[:-1]
		s["op"].setOp( *opSpec )
	
		ss = s.serialise()
				
		s2 = Gaffer.ScriptNode()
		s2.execute( ss )
Exemple #7
0
    def testTaskComparison(self):

        c = Gaffer.Context()
        n = Gaffer.OpHolder()
        t1 = Gaffer.ExecutableNode.Task(n, c)
        t2 = Gaffer.ExecutableNode.Task()
        t2.node = n
        t2.context = c
        c2 = Gaffer.Context()
        c2["a"] = 2
        t3 = Gaffer.ExecutableNode.Task(n, c2)
        n2 = Gaffer.OpHolder()
        t4 = Gaffer.ExecutableNode.Task(n2, c2)

        self.assertEqual(t1, t1)
        self.assertEqual(t1, t2)
        self.assertEqual(t2, t1)
        self.assertNotEqual(t1, t3)
        self.assertNotEqual(t3, t1)
        self.assertNotEqual(t3, t4)
        self.assertNotEqual(t4, t3)
Exemple #8
0
    def testLifetime(self):

        n = Gaffer.OpHolder()
        opSpec = GafferTest.ParameterisedHolderTest.classSpecification(
            "image/grade", "IECORE_OP_PATHS")[:-1]
        n.setOp(*opSpec)

        ui = GafferUI.CompoundParameterValueWidget(n.parameterHandler())
        w = weakref.ref(ui)
        del ui

        self.assertEqual(w(), None)
Exemple #9
0
    def testTaskSet(self):

        c = Gaffer.Context()
        n = Gaffer.OpHolder()
        t1 = Gaffer.ExecutableNode.Task(n, c)
        t2 = Gaffer.ExecutableNode.Task(n, c)
        self.assertEqual(t1, t2)
        c2 = Gaffer.Context()
        c2["a"] = 2
        t3 = Gaffer.ExecutableNode.Task(n, c2)
        n2 = Gaffer.OpHolder()
        t4 = Gaffer.ExecutableNode.Task(n2, c2)
        t5 = Gaffer.ExecutableNode.Task(n2, c)

        s = set([t1, t2, t3, t4, t4, t4, t1, t2, t4, t3, t2])
        self.assertEqual(len(s), 3)
        self.assertEqual(s, set([t1, t3, t4]))
        self.assertTrue(t1 in s)
        self.assertTrue(t2 in s)
        self.assertTrue(t3 in s)
        self.assertTrue(t4 in s)
        self.assertFalse(t5 in s)
Exemple #10
0
    def testTaskConstructors(self):

        c = Gaffer.Context()

        t = Gaffer.ExecutableNode.Task()
        n = Gaffer.OpHolder()
        t.node = n
        t.context = c

        t2 = Gaffer.ExecutableNode.Task(n, c)

        t3 = Gaffer.ExecutableNode.Task(t2)

        self.assertEqual(t.node, n)
        self.assertEqual(t.context, c)
        self.assertEqual(t2.node, n)
        self.assertEqual(t2.context, c)
        self.assertEqual(t3.node, n)
        self.assertEqual(t3.context, c)