def testHashRepeatability(self): p = GafferImage.AtomicFormatPlug() p.setValue(GafferImage.Format(1920, 1080)) allHashes = set() for i in range(0, 1000): allHashes.add(p.hash().toString()) self.assertEqual(len(allHashes), 1)
def testExpressions(self): s = Gaffer.ScriptNode() s["n1"] = Gaffer.Node() s["n2"] = Gaffer.Node() s["n1"]["user"]["f"] = GafferImage.AtomicFormatPlug( flags=Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic) s["n2"]["user"]["f"] = GafferImage.AtomicFormatPlug( flags=Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic) s["e"] = Gaffer.Expression() s["e"].setExpression( 'f = parent["n1"]["user"]["f"]; b = f.getDisplayWindow(); b.setMin( b.min() - imath.V2i( 10 ) ); b.setMax( b.max() + imath.V2i( 20 ) ); f.setPixelAspect( 0.5 ); f.setDisplayWindow( b ); parent["n2"]["user"]["f"] = f' ) s["n1"]["user"]["f"].setValue( GafferImage.Format( imath.Box2i(imath.V2i(20, 30), imath.V2i(100, 110)), 1)) self.assertEqual( s["n2"]["user"]["f"].getValue(), GafferImage.Format( imath.Box2i(imath.V2i(10, 20), imath.V2i(120, 130)), 0.5))
def testInputPlug(self): n = Gaffer.Node() f = GafferImage.AtomicFormatPlug("f", direction=Gaffer.Plug.Direction.In, flags=Gaffer.Plug.Flags.Default) n.addChild(f) s = Gaffer.ScriptNode() s.addChild(n) with s.context(): f1 = n["f"].getValue() # The default value of any input plug should be it's real value regardless of whether it is empty or not. self.assertEqual(f1, GafferImage.Format())
def testSerialisation(self): s = Gaffer.ScriptNode() s["n"] = Gaffer.Node() s["n"]["f"] = GafferImage.AtomicFormatPlug( "testPlug", defaultValue=GafferImage.Format(10, 5, .5), flags=Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic) se = s.serialise() s2 = Gaffer.ScriptNode() s2.execute(se) self.failUnless(s2["n"]["f"].isInstanceOf( GafferImage.AtomicFormatPlug.staticTypeId()))
def testOffsetSerialize(self): format = GafferImage.Format( imath.Box2i(imath.V2i(-5, -11), imath.V2i(13, 19)), .5) s = Gaffer.ScriptNode() s["n"] = Gaffer.Node() s["n"]["f"] = GafferImage.AtomicFormatPlug( "testPlug", defaultValue=format, flags=Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic) se = s.serialise() s2 = Gaffer.ScriptNode() s2.execute(se) self.assertEqual(s2["n"]["f"].getValue(), format)
def testReadOnlySerialisation(self): s = Gaffer.ScriptNode() s["n"] = Gaffer.Node() s["n"]["p"] = GafferImage.AtomicFormatPlug( flags=Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic) s["n"]["p"].setValue( GafferImage.Format(IECore.Box2i(IECore.V2i(0), IECore.V2i(10)), 2.0)) s["n"]["p"].setFlags(Gaffer.Plug.Flags.ReadOnly, True) s2 = Gaffer.ScriptNode() s2.execute(s.serialise()) self.assertEqual( s2["n"]["p"].getValue(), GafferImage.Format(IECore.Box2i(IECore.V2i(0), IECore.V2i(10)), 2.0)) self.assertTrue(s2["n"]["p"].getFlags(Gaffer.Plug.Flags.ReadOnly))
def testGetAndSetEmptyFormat(self): p = GafferImage.AtomicFormatPlug() p.setValue(GafferImage.Format()) self.assertEqual(p.getValue(), GafferImage.Format())