Esempio n. 1
0
    def testSingleNumericPlugs(self):

        locator = maya.cmds.spaceLocator()[0]

        attr = ("tBool", IECore.BoolData, True)
        maya.cmds.addAttr(ln=attr[0], at="bool")
        maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + '.' + attr[0]))
        self.assert_(converter)
        cValue = converter.convert()
        self.assert_(isinstance(cValue, attr[1]))
        self.assertAlmostEqual(cValue.value, attr[2])

        attr = ("tFloat", IECore.FloatData, 0.123456)
        maya.cmds.addAttr(ln=attr[0], at="float")
        maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + '.' + attr[0]))
        self.assert_(converter)
        cValue = converter.convert()
        self.assert_(isinstance(cValue, attr[1]))
        self.assertAlmostEqual(cValue.value, attr[2])

        attr = ("tDouble", IECore.DoubleData, 0.123456)
        maya.cmds.addAttr(ln=attr[0], at="double")
        maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + '.' + attr[0]))
        self.assert_(converter)
        cValue = converter.convert()
        self.assert_(isinstance(cValue, attr[1]))
        self.assertAlmostEqual(cValue.value, attr[2])

        attr = ("tShort", IECore.ShortData, 1)
        maya.cmds.addAttr(ln=attr[0], at="enum", en="A:B:C")
        maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + '.' + attr[0]))
        self.assert_(converter)
        cValue = converter.convert()
        self.assert_(isinstance(cValue, attr[1]))
        self.assertAlmostEqual(cValue.value, attr[2])

        # read enum as string
        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + '.' + attr[0]),
            IECore.StringData.staticTypeId())
        self.assert_(converter)
        cValue = converter.convert()
        self.assert_(isinstance(cValue, IECore.StringData))
        self.assertAlmostEqual(cValue.value, "B")
Esempio n. 2
0
    def testFactory(self):

        locator = maya.cmds.spaceLocator(position=(1, 2, 3))[0]

        converter = IECoreMaya.FromMayaPlugConverter.create(locator +
                                                            ".translateX")
        self.assert_(converter)
        self.assert_(
            converter.isInstanceOf(
                IECoreMaya.FromMayaPlugConverter.staticTypeId()))

        converter = IECoreMaya.FromMayaPlugConverter.create(locator +
                                                            ".scaleX")
        self.assert_(converter)
        self.assert_(
            converter.isInstanceOf(
                IECoreMaya.FromMayaPlugConverter.staticTypeId()))

        converter = IECoreMaya.FromMayaPlugConverter.create(locator + ".scale")
        self.assert_(converter)
        self.assert_(
            converter.isInstanceOf(
                IECoreMaya.FromMayaPlugConverter.staticTypeId()))

        converter = IECoreMaya.FromMayaPlugConverter.create(
            IECoreMaya.plugFromString(locator + ".translateX"))
        self.assert_(converter)
        self.assert_(
            converter.isInstanceOf(
                IECoreMaya.FromMayaPlugConverter.staticTypeId()))
Esempio n. 3
0
	def testAttributes( self ) :

		maya.cmds.currentTime( "0sec" )
		t = maya.cmds.createNode( "transform", name="t1" )

		maya.cmds.addAttr( t, ln="ieAttr_bool", at="bool" )
		maya.cmds.addAttr( t, ln="ieAttr_float", at="float" )
		maya.cmds.addAttr( t, ln="ieAttr_double", at="double" )
		maya.cmds.addAttr( t, ln="ieAttr_doubleAngle", at="doubleAngle" )
		maya.cmds.addAttr( t, ln="ieAttr_doubleLinear", at="doubleLinear" )
		maya.cmds.addAttr( t, ln="ieAttr_message", at="message" )
		maya.cmds.addAttr( t, ln="ieAttr_time", at="time" )
		maya.cmds.addAttr( t, ln="ieAttr_fltMatrix", at="fltMatrix" )
		maya.cmds.addAttr( t, ln="ieAttr_string", dt="string" )
		maya.cmds.addAttr( t, ln="ieAttr_with__namespace", dt="string" )

		maya.cmds.addAttr( t, ln="ieAttr_enum", at="enum", en="ABC:DEF:"  )
		maya.cmds.addAttr( t, ln="ieAttr_enumAsString", at="enum", en="GHI:JKL:"  )

		# add ieConvertToStringData category
		p = IECoreMaya.plugFromString( t+'.ieAttr_enumAsString' )
		fn = OpenMaya.MFnEnumAttribute( p.attribute() )
		fn.addToCategory( IECoreMaya.FromMayaEnumPlugConverterst.convertToStringCategory )

		scene = IECoreMaya.LiveScene()
		transformScene = scene.child(str(t))

		self.assertEqual( set( transformScene.attributeNames()),
			set( [
				"scene:visible",
				"user:bool",
				"user:enum",
				"user:enumAsString",
				"user:float",
				"user:double",
				"user:doubleAngle",
				"user:doubleLinear",
				"user:message",
				"user:time",
				"user:fltMatrix",
				"user:string",
				"user:with:namespace"
			] )
		)

		self.failUnless( isinstance( transformScene.readAttribute("user:bool",0), IECore.BoolData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:enum",0), IECore.ShortData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:enumAsString",0), IECore.StringData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:float",0), IECore.FloatData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:double",0), IECore.DoubleData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:doubleAngle",0), IECore.DoubleData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:doubleLinear",0), IECore.DoubleData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:message",0), IECore.NullObject ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:time",0), IECore.DoubleData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:fltMatrix",0), IECore.M44dData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:string",0), IECore.StringData ) )
		self.failUnless( isinstance( transformScene.readAttribute("user:with:namespace",0), IECore.StringData ) )
	def testSingleNumericPlugs(self):

		locator = maya.cmds.spaceLocator()[0]

		attr = ("tBool", IECore.BoolData, True)
		maya.cmds.addAttr(ln=attr[0], at="bool")
		maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
		converter = IECoreMaya.FromMayaPlugConverter.create( IECoreMaya.plugFromString(locator + '.' + attr[0]) )
		self.assert_(converter)
		cValue = converter.convert()
		self.assert_(isinstance(cValue, attr[1]))
		self.assertAlmostEqual(cValue.value, attr[2])

		attr = ("tFloat", IECore.FloatData, 0.123456)
		maya.cmds.addAttr(ln=attr[0], at="float")
		maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
		converter = IECoreMaya.FromMayaPlugConverter.create( IECoreMaya.plugFromString(locator + '.' + attr[0]) )
		self.assert_(converter)
		cValue = converter.convert()
		self.assert_(isinstance(cValue, attr[1]))
		self.assertAlmostEqual(cValue.value, attr[2])

		attr = ("tDouble", IECore.DoubleData, 0.123456)
		maya.cmds.addAttr(ln=attr[0], at="double")
		maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
		converter = IECoreMaya.FromMayaPlugConverter.create( IECoreMaya.plugFromString(locator + '.' + attr[0]) )
		self.assert_(converter)
		cValue = converter.convert()
		self.assert_(isinstance(cValue, attr[1]))
		self.assertAlmostEqual(cValue.value, attr[2])

		attr = ("tShort", IECore.ShortData, 1)
		maya.cmds.addAttr(ln=attr[0], at="enum", en="A:B:C")
		maya.cmds.setAttr(locator + '.' + attr[0], attr[2])
		converter = IECoreMaya.FromMayaPlugConverter.create( IECoreMaya.plugFromString(locator + '.' + attr[0]) )
		self.assert_(converter)
		cValue = converter.convert()
		self.assert_(isinstance(cValue, attr[1]))
		self.assertAlmostEqual(cValue.value, attr[2])
	def testFactory( self ) :

		locator = maya.cmds.spaceLocator( position=( 1, 2, 3 ) )[0]

		converter = IECoreMaya.FromMayaPlugConverter.create( locator + ".translateX" )
		self.assert_( converter )
		self.assert_( converter.isInstanceOf( IECoreMaya.FromMayaPlugConverter.staticTypeId() ) )

		converter = IECoreMaya.FromMayaPlugConverter.create( locator + ".scaleX" )
		self.assert_( converter )
		self.assert_( converter.isInstanceOf( IECoreMaya.FromMayaPlugConverter.staticTypeId() ) )

		converter = IECoreMaya.FromMayaPlugConverter.create( locator + ".scale" )
		self.assert_( converter )
		self.assert_( converter.isInstanceOf( IECoreMaya.FromMayaPlugConverter.staticTypeId() ) )

		converter = IECoreMaya.FromMayaPlugConverter.create( IECoreMaya.plugFromString( locator + ".translateX" ) )
		self.assert_( converter )
		self.assert_( converter.isInstanceOf( IECoreMaya.FromMayaPlugConverter.staticTypeId() ) )