diff options
author | Russell Cohen <rcoh@mit.edu> | 2010-11-24 01:09:12 -0500 |
---|---|---|
committer | Russell Cohen <rcoh@mit.edu> | 2010-11-24 01:09:12 -0500 |
commit | b042647b68abdc82490ca6e059993b8eba28904c (patch) | |
tree | a9ee95a38e98b377c251b7b2e9af9cbd8056cf7c /renderers | |
parent | 407ac922fc4178021cf3a16dfb1bd875b6083ac4 (diff) |
Refactoring complete! Made modules/packages as appropriate. Finally.
Diffstat (limited to 'renderers')
-rw-r--r-- | renderers/IndoorRenderer.py | 31 | ||||
-rw-r--r-- | renderers/PygameRenderer.py | 20 | ||||
-rw-r--r-- | renderers/__init__.py | 0 |
3 files changed, 51 insertions, 0 deletions
diff --git a/renderers/IndoorRenderer.py b/renderers/IndoorRenderer.py new file mode 100644 index 0000000..efe2b3a --- /dev/null +++ b/renderers/IndoorRenderer.py @@ -0,0 +1,31 @@ +from operationscore.Renderer import * +import socket, Util +import pdb +kinetPort = 6038 +class IndoorRenderer(Renderer): + def initRenderer(self): + #pdb.set_trace() + self.stripLocations = {} #Dict that stores info necessary to render to + #strips + self.sockets = {} #dict of (IP,port)->Socket + #a strip +# g self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + powerSupplies = self.argDict['PowerSupply'] + if not type(powerSupplies) == type([]): + powerSupplies = [powerSupplies] + for powerSupply in powerSupplies: + ip = powerSupply['IP'] + stripsInPowerSupply = powerSupply['PortMapping'] + for stripId in stripsInPowerSupply: + self.stripLocations[stripId] = (ip, \ + stripsInPowerSupply[stripId]) + def render(self, lightSystem): + for pixelStrip in lightSystem.pixelStrips: + stripId = pixelStrip.argDict['Id'] + (ip, port) = self.stripLocations[stripId] + if not ip in self.sockets: #do we have a socket to this + #strip? if not, spin off a new one + self.sockets[ip] = Util.getConnectedSocket(ip,kinetPort) + packet = Util.composePixelStripPacket(pixelStrip, port) + self.sockets[ip].send(packet, 0x00) + diff --git a/renderers/PygameRenderer.py b/renderers/PygameRenderer.py new file mode 100644 index 0000000..6f7f65b --- /dev/null +++ b/renderers/PygameRenderer.py @@ -0,0 +1,20 @@ +from operationscore.Renderer import * +import pygame +from pygame.locals import * +import pdb +class PygameRenderer(Renderer): + def initRenderer(self): + pygame.init() + self.screen = pygame.display.set_mode((1300,50)) + self.background = pygame.Surface(self.screen.get_size()) + self.background = self.background.convert() + self.background.fill(Color('Black')) + def render(self, lightSystem): + self.background.fill(Color('Black')) + #print 'drawing color:',light.color + for light in lightSystem: + pygame.draw.circle(self.background, light.state(), light.location, \ + light.radius) + + self.screen.blit(self.background, (0,0)) + pygame.display.flip() diff --git a/renderers/__init__.py b/renderers/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/renderers/__init__.py |