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

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

        maya.cmds.addAttr(s,
                          at="enum",
                          sn="enumTest",
                          enumName="A:B:C",
                          defaultValue=1)

        plugPath = s + ".enumTest"

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)

        with IECoreMaya.TemporaryAttributeValues({plugPath: 2}):
            self.assertEqual(maya.cmds.getAttr(plugPath), 2)

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)

        # save it to a file
        #######################################################################

        maya.cmds.file(rename=os.path.join(os.getcwd(), "test", "IECoreMaya",
                                           "temporaryAttributeReference.ma"))
        referenceScene = maya.cmds.file(force=True,
                                        type="mayaAscii",
                                        save=True)

        # make a new scene referencing that file
        #######################################################################

        maya.cmds.file(new=True, force=True)
        maya.cmds.file(referenceScene, reference=True, namespace="ns1")

        plugPath = "ns1:" + s + ".enumTest"

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)

        with IECoreMaya.TemporaryAttributeValues({plugPath: 2}):
            self.assertEqual(maya.cmds.getAttr(plugPath), 2)

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)

        with IECoreMaya.TemporaryAttributeValues({plugPath: 0}):
            self.assertEqual(maya.cmds.getAttr(plugPath), 0)

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)
Пример #2
0
    def testNameSpaceAttributes(self):

        maya.cmds.namespace(add="ns1")
        s = maya.cmds.spaceLocator()[0]
        maya.cmds.addAttr(s,
                          at="enum",
                          sn="enumTest",
                          enumName="A:B:C",
                          defaultValue=1)
        s = maya.cmds.rename(s, "ns1:" + s)
        plugPath = s + ".enumTest"
        maya.cmds.namespace(set=":")

        self.assertEqual(plugPath, "ns1:locator1.enumTest")
        self.assertEqual(maya.cmds.namespace(exists="ns1"), True)
        self.assertEqual(maya.cmds.namespaceInfo(currentNamespace=True), ":")

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)

        with IECoreMaya.TemporaryAttributeValues({plugPath: 2}):
            self.assertEqual(maya.cmds.getAttr(plugPath), 2)

        self.assertEqual(maya.cmds.getAttr(plugPath), 1)
Пример #3
0
    def test(self):

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

        maya.cmds.addAttr(s,
                          at="enum",
                          sn="enumTest",
                          enumName="A:B:C",
                          defaultValue=1)
        self.assertEqual(maya.cmds.getAttr(s + ".enumTest"), 1)

        maya.cmds.addAttr(s, at="bool", sn="boolTest", defaultValue=1)
        self.assertEqual(maya.cmds.getAttr(s + ".boolTest"), 1)

        maya.cmds.addAttr(s, at="float", sn="floatTest")
        self.assertEqual(maya.cmds.getAttr(s + ".floatTest"), 0)

        maya.cmds.addAttr(s, at="long", sn="intTest")
        self.assertEqual(maya.cmds.getAttr(s + ".intTest"), 0)

        maya.cmds.addAttr(s, at="float2", sn="float2Test")
        maya.cmds.addAttr(s, at="float", sn="float2TestX", parent="float2Test")
        maya.cmds.addAttr(s, at="float", sn="float2TestY", parent="float2Test")
        self.assertEqual(maya.cmds.getAttr(s + ".float2TestX"), 0)
        self.assertEqual(maya.cmds.getAttr(s + ".float2TestY"), 0)

        maya.cmds.addAttr(s, at="long2", sn="int2Test")
        maya.cmds.addAttr(s,
                          at="long",
                          sn="int2TestX",
                          parent="int2Test",
                          defaultValue=1)
        maya.cmds.addAttr(s,
                          at="long",
                          sn="int2TestY",
                          parent="int2Test",
                          defaultValue=2)
        self.assertEqual(maya.cmds.getAttr(s + ".int2TestX"), 1)
        self.assertEqual(maya.cmds.getAttr(s + ".int2TestY"), 2)

        maya.cmds.addAttr(s, at="float3", sn="float3Test")
        maya.cmds.addAttr(s,
                          at="float",
                          sn="float3TestX",
                          parent="float3Test",
                          defaultValue=10)
        maya.cmds.addAttr(s,
                          at="float",
                          sn="float3TestY",
                          parent="float3Test",
                          defaultValue=20)
        maya.cmds.addAttr(s,
                          at="float",
                          sn="float3TestZ",
                          parent="float3Test",
                          defaultValue=30)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestX"), 10)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestY"), 20)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestZ"), 30)

        maya.cmds.addAttr(s, at="short3", sn="short3Test")
        maya.cmds.addAttr(s,
                          at="short",
                          sn="short3TestX",
                          parent="short3Test",
                          defaultValue=101)
        maya.cmds.addAttr(s,
                          at="short",
                          sn="short3TestY",
                          parent="short3Test",
                          defaultValue=201)
        maya.cmds.addAttr(s,
                          at="short",
                          sn="short3TestZ",
                          parent="short3Test",
                          defaultValue=301)
        self.assertEqual(maya.cmds.getAttr(s + ".short3TestX"), 101)
        self.assertEqual(maya.cmds.getAttr(s + ".short3TestY"), 201)
        self.assertEqual(maya.cmds.getAttr(s + ".short3TestZ"), 301)

        maya.cmds.addAttr(s, dt="string", sn="stringTest")
        maya.cmds.setAttr(s + ".stringTest", "hi", type="string")
        self.assertEqual(maya.cmds.getAttr(s + ".stringTest"), "hi")

        context = IECoreMaya.TemporaryAttributeValues({
            s + ".enumTest":
            2,
            s + ".boolTest":
            False,
            s + ".floatTest":
            10,
            s + ".intTest":
            20,
            s + ".float2Test": (1, 2),
            s + ".int2Test":
            IECore.V2i(3, 4),
            s + ".float3Test": (9, 6, 1),
            s + ".short3Test": (500, 2, -1),
            s + ".stringTest":
            "bye",
        })

        with context:

            self.assertEqual(maya.cmds.getAttr(s + ".enumTest"), 2)
            self.assertEqual(maya.cmds.getAttr(s + ".boolTest"), 0)
            self.assertEqual(maya.cmds.getAttr(s + ".floatTest"), 10)
            self.assertEqual(maya.cmds.getAttr(s + ".intTest"), 20)
            self.assertEqual(maya.cmds.getAttr(s + ".float2TestX"), 1)
            self.assertEqual(maya.cmds.getAttr(s + ".float2TestY"), 2)
            self.assertEqual(maya.cmds.getAttr(s + ".int2TestX"), 3)
            self.assertEqual(maya.cmds.getAttr(s + ".int2TestY"), 4)
            self.assertEqual(maya.cmds.getAttr(s + ".float3TestX"), 9)
            self.assertEqual(maya.cmds.getAttr(s + ".float3TestY"), 6)
            self.assertEqual(maya.cmds.getAttr(s + ".float3TestZ"), 1)
            self.assertEqual(maya.cmds.getAttr(s + ".short3TestX"), 500)
            self.assertEqual(maya.cmds.getAttr(s + ".short3TestY"), 2)
            self.assertEqual(maya.cmds.getAttr(s + ".short3TestZ"), -1)
            self.assertEqual(maya.cmds.getAttr(s + ".stringTest"), "bye")

        self.assertEqual(maya.cmds.getAttr(s + ".enumTest"), 1)
        self.assertEqual(maya.cmds.getAttr(s + ".boolTest"), 1)
        self.assertEqual(maya.cmds.getAttr(s + ".floatTest"), 0)
        self.assertEqual(maya.cmds.getAttr(s + ".intTest"), 0)
        self.assertEqual(maya.cmds.getAttr(s + ".float2TestX"), 0)
        self.assertEqual(maya.cmds.getAttr(s + ".float2TestY"), 0)
        self.assertEqual(maya.cmds.getAttr(s + ".int2TestX"), 1)
        self.assertEqual(maya.cmds.getAttr(s + ".int2TestY"), 2)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestX"), 10)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestY"), 20)
        self.assertEqual(maya.cmds.getAttr(s + ".float3TestZ"), 30)
        self.assertEqual(maya.cmds.getAttr(s + ".stringTest"), "hi")