def test_joint2Point_Motion():
        bvhFilePath = '../samples/physics2_WalkSameSame00.bvh'
        jointMotion, frameTime = yf.readBvhFileAsJointMotion(bvhFilePath, .1)

        pointMotion = joint2Point_Motion(jointMotion)

        print 'jointMotion.skeleton', jointMotion[0].skeleton
        print 'pointMotion.skeleton', pointMotion[0].skeleton
        print 'jointMotion.skeleton - pointMotion.skeleton', set(
            jointMotion[0].skeleton.joints.keys(
            )) - pointMotion[0].skeleton.pointSet
        print 'pointMotion.skeleton - jointMotion.skeleton', pointMotion[
            0].skeleton.pointSet - set(jointMotion[0].skeleton.joints.keys())

        motionSystem = ym.MotionSystem()
        motionSystem.addMotion(pointMotion)
        motionSystem.addMotion(jointMotion)

        renderers = []
        renderers.append(yr.PointMotionRenderer(pointMotion))
        renderers.append(
            yr.JointMotionRenderer(jointMotion, (0, 255, 0), yr.LINK_LINE))

        viewer = yv.Viewer2(100, 100, 800, 650, None, motionSystem, renderers)
        viewer.startTimer(frameTime)
        viewer.show()
        Fl.run()
    def test_point2Joint_Motion():
        mmFilePath = '../samples/physics2_WalkSameSame01.mm'
        pointMotion = yf.readMMFile(mmFilePath)
        frameTime = 1. / 30.

        pointMotion[0].pointMap['lFoot'][1] -= 0.1

        #        pointMotion = pointMotion[0:1]

        jointMotion = point2Joint_Motion(pointMotion, 'root')
        pointMotion2 = joint2Point_Motion(jointMotion)

        print 'pointMotion.skeleton', pointMotion[0].skeleton.links
        print pointMotion[0].pointMap.keys()
        print 'jointMotion.skeleton', jointMotion[0].skeleton.joints.keys()
        print 'pointMotion2.skeleton', pointMotion2[0].skeleton.links
        print pointMotion2[0].pointMap.keys()

        motionSystem = ym.MotionSystem()
        motionSystem.addMotion(pointMotion)
        motionSystem.addMotion(jointMotion)

        renderers = []
        #        renderers.append(yr.PointMotionRenderer(pointMotion))
        renderers.append(yr.PointMotionRenderer(pointMotion2))
        renderers.append(
            yr.JointMotionRenderer(jointMotion, (0, 255, 0), yr.LINK_LINE))

        viewer = yv.Viewer2(100, 100, 800, 650, None, motionSystem, renderers)
        viewer.startTimer(frameTime)
        viewer.show()
        Fl.run()
예제 #3
0
    def test_joint2Point_Motion():
        bvhFilePath = '../samples/physics2_WalkSameSame00.bvh'
        jointMotion, frameTime = yf.readBvhFileAsJointMotion(bvhFilePath, .1)
#        bvhFilePath = '../../../Walking/ppmotion/wd2_WalkForwardNormal00.bvh'
#        jointMotion = yf.readBvhFile(bvhFilePath)
#        frameTime = 1/jointMotion.fps

        pointMotion = joint2Point_Motion(jointMotion)
#        pointMotion = joint2mm_Motion(jointMotion) 

        print('jointMotion.skeleton', jointMotion[0].skeleton)
        print('pointMotion.skeleton', pointMotion[0].skeleton)
        print('jointMotion.skeleton - pointMotion.skeleton', set(jointMotion[0].skeleton.joints.keys()) - pointMotion[0].skeleton.pointSet) 
        print('pointMotion.skeleton - jointMotion.skeleton', pointMotion[0].skeleton.pointSet - set(jointMotion[0].skeleton.joints.keys()))
    
        motionSystem = ym.MotionSystem()
        motionSystem.addMotion(pointMotion)
        motionSystem.addMotion(jointMotion)
        
        renderers = []
        renderers.append(yr.PointMotionRenderer(pointMotion))
        renderers.append(yr.JointMotionRenderer(jointMotion, (0,255,0), yr.LINK_LINE))
    
        viewer = yv.Viewer2(100, 100, 800, 650, None, motionSystem, renderers)
#        viewer = yv.MotionViewer(100, 100, 800, 650)
        viewer.setRenderers(renderers)
        viewer.setMotionSystem(motionSystem)
        viewer.startTimer(frameTime)
        viewer.show()
        Fl.run()
예제 #4
0
    def __init__(self):
        ybu.Subject.__init__(self)
        
        self.rendererNames = []
        self.rendererMap = {}
        self.renderersVisible = {}

        self.motionNames = []
        self.motionMap = {}
        self.motionSystem = ym.MotionSystem()
        
        self.objectNames = []
        self.objectMap = {}
        self.selectedObject = None
    def test_MotionViewer():
        import Motion.ysMotion as ym
        import Resource.ysMotionLoader as yf
        import Renderer.ysRenderer as yr

        mmFilePath = '../samples/physics2_WalkSameSame01.mm'
        pointMotion = yf.readMMFile(mmFilePath)
        frameTime = 1. / 30.

        motionSystem = ym.MotionSystem()
        motionSystem.addMotion(pointMotion)

        renderers = []
        renderers.append(yr.PointMotionRenderer(pointMotion))

        viewer = MotionViewer(100, 100, 600, 400)
        #        viewer = Viewer(100, 100, 800, 650, motionSystem, renderers)
        viewer.startTimer(frameTime)
        viewer.show()
        Fl.run()
    def test_plot_LineCollection_speed():
        import GUI.ysViewer as yv
        import Motion.ysMotion as ym
        import numpy as np
        from matplotlib import collections
        import time

        pt = time.time()

        count = 5

        # plot
        xs = []
        ys = []
        #        lines = []
        for i in range(count):
            xs.append([])
            ys.append([])
#            line, = plot(range(100), range(100))
#            lines.append(line)

        def beforeFrameCallback(frame):
            #            print frame
            for i in range(count):
                xs[i].append(frame)
                ys[i].append(frame + i)

                #                plot(xs[i], ys[i], 'b')
                plot([frame, frame + 1], [frame + i, frame + i + 1], 'b')
#                lines[i].set_xydata(frame,frame+i)

#            xys = []
#            for i in range(count):
#                xys.append(xs[i])
#                xys.append(ys[i])
#            plot(xys)

            xlim(0, 100)
            ylim(0, 100)
            draw()
            if frame == 90:
                print time.time() - pt

##        # LineCollection
#        fig = figure()
#        a = fig.add_subplot(111)
#        xys = []
#        for i in range(count):
#            xys.append([])
#        def beforeFrameCallback(frame):
##            print frame
#            for i in range(count):
#                xys[i].append((frame, frame+i))
#
##                col = collections.LineCollection([xys[i]])
#                col = collections.LineCollection([[(frame, frame+i), (frame+1, frame+i+1)]])
#                a.add_collection(col)
#
##            col = collections.LineCollection(xys)
##            a.add_collection(col)
#
#            xlim(0,100)
#            ylim(0,100)
#            draw()
#            if frame == 90:
#                print time.time() - pt

        tempMotion = ym.Motion([None] * 100)
        motionSystem = ym.MotionSystem()
        motionSystem.addMotion(tempMotion)

        viewer = yv.Viewer(100, 100, 800, 650, None, motionSystem, [])

        viewer.beforeFrameCallback = beforeFrameCallback

        viewer.startTimer(1 / 30.)
        viewer.show()

        Fl.run()