diff options
Diffstat (limited to 'layers.py')
| -rw-r--r-- | layers.py | 29 |
1 files changed, 26 insertions, 3 deletions
@@ -18,7 +18,7 @@ class layer: except: print "gps layer: failed to parse", file def findpixel(self,pos): - return latLng(int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) + return (int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) def checkcoord(self,pos): p=self.findpixel(pos) if p!=self.pixel: @@ -27,7 +27,10 @@ class layer: else: return None def setcoord(self,pos): - return str(1.0) + """constructs a list of messages when values change" + returns None otherwise""" + result=None + return r class trigger(): """a generic trigger - @@ -43,6 +46,26 @@ class trigger(): return None class indexlayer(layer): + """generates gps triggers from an index colour image + triggers when colour changes""" triggers=[] + colour=-1 def setcoord(self,pos): - return str(1)
\ No newline at end of file + result=None + #210 35 5 185 + c=self.image.getpixel(pos) + if c!=self.colour: + self.colour=c + print "indexlayer: new colour",c + for t in self.triggers: + if c==t.id: + result=t.command + return result + +class scalelayer(layer): + """generates a varying signal based on interpolating a greyscale image + uses sub pixel position""" + def findpixel(self,pos): + return (int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) + def setcoord(self,pos): + result=None
\ No newline at end of file |
