def testAnimMeshReload(self):

        MayaCmds.polyCube( name = 'mesh')
        MayaCmds.setKeyframe('meshShape.vtx[0:7]', time=[1, 24])
        MayaCmds.setKeyframe('meshShape.vtx[0:7]')
        MayaCmds.currentTime(12, update=True)
        MayaCmds.select('meshShape.vtx[0:7]')
        MayaCmds.scale(5, 5, 5, r=True)
        MayaCmds.setKeyframe('meshShape.vtx[0:7]', time=[12])
        self.__files.append(util.expandFileName('testAnimMeshReadWrite.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root mesh -f ' + self.__files[-1])

        # reading test
        MayaCmds.AbcImport(self.__files[-1], mode='open')

        # save as a maya file
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # reload as a maya file
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        retVal = True
        mesh1 = '|mesh|meshShape'
        mesh2 = '|mesh1|meshShape'
        for t in range(1, 25):
            MayaCmds.currentTime(t, update=True)
            if not util.compareMesh( mesh1, mesh2 ):
                self.fail('%s and %s were not equal at frame %d' % (mesh1,
                    mesh2, t))
Exemplo n.º 2
0
    def testAnimMeshReload(self):

        MayaCmds.polyCube(name='mesh')
        MayaCmds.setKeyframe('meshShape.vtx[0:7]', time=[1, 24])
        MayaCmds.setKeyframe('meshShape.vtx[0:7]')
        MayaCmds.currentTime(12, update=True)
        MayaCmds.select('meshShape.vtx[0:7]')
        MayaCmds.scale(5, 5, 5, r=True)
        MayaCmds.setKeyframe('meshShape.vtx[0:7]', time=[12])
        self.__files.append(util.expandFileName('testAnimMeshReadWrite.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root mesh -f ' + self.__files[-1])

        # reading test
        MayaCmds.AbcImport(self.__files[-1], mode='open')

        # save as a maya file
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # reload as a maya file
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        retVal = True
        mesh1 = '|mesh|meshShape'
        mesh2 = '|mesh1|meshShape'
        for t in range(1, 25):
            MayaCmds.currentTime(t, update=True)
            if not util.compareMesh(mesh1, mesh2):
                self.fail('%s and %s were not equal at frame %d' % (mesh1,
                    mesh2, t))
    def testAnimPolyDeleteReload(self):

        # create a poly cube and animate
        shapeName = 'pCube'
        MayaCmds.polyCube( name=shapeName )
        MayaCmds.move(5, 0, 0, r=True)
        MayaCmds.setKeyframe( shapeName+'.vtx[2:5]', time=[1, 24] )
        MayaCmds.currentTime( 12 )
        MayaCmds.select( shapeName+'.vtx[2:5]',replace=True )
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe( shapeName+'.vtx[2:5]', time=[12] )

        # create a poly sphere and animate
        shapeName = 'pSphere'
        MayaCmds.polySphere( name=shapeName )
        MayaCmds.move(-5, 0, 0, r=True)
        MayaCmds.setKeyframe( shapeName+'.vtx[200:379]',
            shapeName+'.vtx[381]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select( shapeName+'.vtx[200:379]',
            shapeName+'.vtx[381]',replace=True)
        MayaCmds.scale(0.5, 0.5, 0.5, relative=True)
        MayaCmds.setKeyframe( shapeName+'.vtx[200:379]',
            shapeName+'.vtx[381]', time=[12])
        MayaCmds.currentTime(1)

        # create a poly torus and animate
        shapeName = 'pTorus'
        MayaCmds.polyTorus(name=shapeName)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:219]',time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[200:219]',replace=True)
        MayaCmds.scale(2, 1, 2, relative=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:219]', time=[12])

        # create a poly cone and animate
        shapeName = 'pCone'
        MayaCmds.polyCone(name=shapeName)
        MayaCmds.move(0, 0, -5, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[20]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[20]',replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[20]', time=[12])

        # write it out to Abc file and load back in
        self.__files.append(util.expandFileName('testPolyReload.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root pCube -root pSphere -root pTorus -root pCone -file %s' %
            self.__files[-1])

        # load back the Abc file, delete the sphere and save to a maya file
        MayaCmds.AbcImport( self.__files[-1], mode='open')
        MayaCmds.delete('pSphere')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('pCube', 'pTorus', 'pCone', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        shapeList = MayaCmds.ls(type='mesh')
        self.failUnlessEqual(len(shapeList), 7)

        meshes = [('|pCube|pCubeShape', '|ReloadGrp|pCube|pCubeShape'),
            ('|pTorus|pTorusShape', '|ReloadGrp|pTorus|pTorusShape'),
            ('|pCone|pConeShape', '|ReloadGrp|pCone|pConeShape')]
        for m in meshes:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareMesh(m[0], m[1]):
                    self.fail('%s and %s are not the same at frame %d' %
                        (m[0], m[1], t))
    def testAnimSubDDeleteReload(self):

        # create a subD cube and animate
        shapeName = 'cube'
        MayaCmds.polyCube( name=shapeName )
        MayaCmds.select('cubeShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[2:5]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[2:5]',replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[2:5]', time=[12])

        # create a subD sphere and animate
        shapeName = 'sphere'
        MayaCmds.polySphere(name=shapeName)
        MayaCmds.select('sphereShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(-5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:379]', shapeName+'.vtx[381]',
            time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[200:379]',  shapeName+'.vtx[381]',
            replace=True)
        MayaCmds.scale(0.5, 0.5, 0.5, relative=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:379]',  shapeName+'.vtx[381]',
            time=[12])
        MayaCmds.currentTime(1)

        # create a subD torus and animate
        shapeName = 'torus'
        MayaCmds.polyTorus(name=shapeName)
        MayaCmds.select('torusShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:219]',time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[200:219]',replace=True)
        MayaCmds.scale(2, 1, 2, relative=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[200:219]', time=[12])

        # create a subD cone and animate
        shapeName = 'cone'
        MayaCmds.polyCone( name=shapeName )
        MayaCmds.select('coneShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(0, 0, -5, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[20]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName+'.vtx[20]',replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName+'.vtx[20]', time=[12])

        self.__files.append(util.expandFileName('testSubDReload.abc'))

        # write it out to Abc file and load back in
        MayaCmds.AbcExport(j='-fr 1 24 -root cube -root sphere -root torus -root cone -file ' +
            self.__files[-1])

        # load back the Abc file, delete the sphere and save to a maya file
        MayaCmds.AbcImport( self.__files[-1], mode='open' )
        MayaCmds.delete('sphere')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('cube', 'torus', 'cone', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        shapeList = MayaCmds.ls(type='mesh')
        self.failUnlessEqual(len(shapeList), 7)

        # test the equality of cubes
        meshes = [('|cube|cubeShape', '|ReloadGrp|cube|cubeShape'),
            ('|torus|torusShape', '|ReloadGrp|torus|torusShape'),
            ('|cone|coneShape', '|ReloadGrp|cone|coneShape')]

        for m in meshes:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareMesh(m[0], m[1]):
                    self.fail('%s and %s are not the same at frame %d' %
                        (m[0], m[1], t))
Exemplo n.º 5
0
    def testAnimPolyDeleteReload(self):

        # create a poly cube and animate
        shapeName = 'pCube'
        MayaCmds.polyCube(name=shapeName)
        MayaCmds.move(5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[2:5]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[2:5]', replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[2:5]', time=[12])

        # create a poly sphere and animate
        shapeName = 'pSphere'
        MayaCmds.polySphere(name=shapeName)
        MayaCmds.move(-5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:379]',
            shapeName + '.vtx[381]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[200:379]',
            shapeName + '.vtx[381]', replace=True)
        MayaCmds.scale(0.5, 0.5, 0.5, relative=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:379]',
            shapeName + '.vtx[381]', time=[12])
        MayaCmds.currentTime(1)

        # create a poly torus and animate
        shapeName = 'pTorus'
        MayaCmds.polyTorus(name=shapeName)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:219]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[200:219]', replace=True)
        MayaCmds.scale(2, 1, 2, relative=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:219]', time=[12])

        # create a poly cone and animate
        shapeName = 'pCone'
        MayaCmds.polyCone(name=shapeName)
        MayaCmds.move(0, 0, -5, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[20]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[20]', replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[20]', time=[12])

        # write it out to Abc file and load back in
        self.__files.append(util.expandFileName('testPolyReload.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root pCube -root pSphere -root pTorus -root pCone -file %s' % 
            self.__files[-1])

        # load back the Abc file, delete the sphere and save to a maya file
        MayaCmds.AbcImport(self.__files[-1], mode='open')
        MayaCmds.delete('pSphere')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('pCube', 'pTorus', 'pCone', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        shapeList = MayaCmds.ls(type='mesh')
        self.failUnlessEqual(len(shapeList), 7)

        meshes = [('|pCube|pCubeShape', '|ReloadGrp|pCube|pCubeShape'),
            ('|pTorus|pTorusShape', '|ReloadGrp|pTorus|pTorusShape'),
            ('|pCone|pConeShape', '|ReloadGrp|pCone|pConeShape')]
        for m in meshes:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareMesh(m[0], m[1]):
                    self.fail('%s and %s are not the same at frame %d' % 
                        (m[0], m[1], t))
Exemplo n.º 6
0
    def testAnimSubDDeleteReload(self):

        # create a subD cube and animate
        shapeName = 'cube'
        MayaCmds.polyCube(name=shapeName)
        MayaCmds.select('cubeShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[2:5]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[2:5]', replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[2:5]', time=[12])

        # create a subD sphere and animate
        shapeName = 'sphere'
        MayaCmds.polySphere(name=shapeName)
        MayaCmds.select('sphereShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(-5, 0, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:379]', shapeName + '.vtx[381]',
            time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[200:379]', shapeName + '.vtx[381]',
            replace=True)
        MayaCmds.scale(0.5, 0.5, 0.5, relative=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:379]', shapeName + '.vtx[381]',
            time=[12])
        MayaCmds.currentTime(1)

        # create a subD torus and animate
        shapeName = 'torus'
        MayaCmds.polyTorus(name=shapeName)
        MayaCmds.select('torusShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:219]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[200:219]', replace=True)
        MayaCmds.scale(2, 1, 2, relative=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[200:219]', time=[12])

        # create a subD cone and animate
        shapeName = 'cone'
        MayaCmds.polyCone(name=shapeName)
        MayaCmds.select('coneShape')
        MayaCmds.addAttr(longName='SubDivisionMesh', attributeType='bool',
            defaultValue=True)
        MayaCmds.move(0, 0, -5, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[20]', time=[1, 24])
        MayaCmds.currentTime(12)
        MayaCmds.select(shapeName + '.vtx[20]', replace=True)
        MayaCmds.move(0, 4, 0, r=True)
        MayaCmds.setKeyframe(shapeName + '.vtx[20]', time=[12])

        self.__files.append(util.expandFileName('testSubDReload.abc'))

        # write it out to Abc file and load back in
        MayaCmds.AbcExport(j='-fr 1 24 -root cube -root sphere -root torus -root cone -file ' + 
            self.__files[-1])

        # load back the Abc file, delete the sphere and save to a maya file
        MayaCmds.AbcImport(self.__files[-1], mode='open')
        MayaCmds.delete('sphere')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('cube', 'torus', 'cone', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        shapeList = MayaCmds.ls(type='mesh')
        self.failUnlessEqual(len(shapeList), 7)

        # test the equality of cubes
        meshes = [('|cube|cubeShape', '|ReloadGrp|cube|cubeShape'),
            ('|torus|torusShape', '|ReloadGrp|torus|torusShape'),
            ('|cone|coneShape', '|ReloadGrp|cone|coneShape')]

        for m in meshes:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareMesh(m[0], m[1]):
                    self.fail('%s and %s are not the same at frame %d' % 
                        (m[0], m[1], t))