Package libavg :: Module trackerhelper

Source Code for Module libavg.trackerhelper

 1  import math 
 2  from . import avg, Point2D, RasterNode 
 3   
 4  g_player = avg.Player.get() 
 5   
6 -class TrackerImageFlipper:
7 - def __init__(self):
8 self.readConfig()
9
10 - def readConfig(self):
11 global g_tracker 12 print "reading tracker config" 13 g_tracker = g_player.getTracker() 14 trackerAngle = float(g_tracker.getParam('/transform/angle/@value')) 15 self.angle = round(trackerAngle/math.pi) * math.pi 16 self.flipX = 0 > float(g_tracker.getParam('/transform/displayscale/@x')) 17 self.flipY = 0 > float(g_tracker.getParam('/transform/displayscale/@y'))
18
19 - def transformPos(self, (x, y)):
20 if self.flipX: 21 x = 1 - x 22 if self.flipY: 23 y = 1 - y 24 return (x, y)
25
26 - def flipNode(self, node):
27 node.angle = self.angle 28 grid = node.getOrigVertexCoords() 29 grid = [ [ self.transformPos(pos) for pos in line ] for line in grid] 30 node.setWarpedVertexCoords(grid)
31
32 - def loadTrackerImage(self, node, imageID):
33 fingerBitmap = g_tracker.getImage(imageID) 34 node.setBitmap(fingerBitmap) 35 self.flipNode(node)
36