From cad88010eb128083aefea41b7e6a299b6949e502 Mon Sep 17 00:00:00 2001 From: Dustin Barnard Date: Thu, 13 Sep 2007 16:20:55 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/cluster/ClusterClient.py | 19 +++++++++++++------ direct/src/cluster/ClusterMsgs.py | 12 ++++++++++-- direct/src/cluster/ClusterServer.py | 8 ++++++-- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/direct/src/cluster/ClusterClient.py b/direct/src/cluster/ClusterClient.py index 7ebc7ab7e2..e47053f821 100644 --- a/direct/src/cluster/ClusterClient.py +++ b/direct/src/cluster/ClusterClient.py @@ -130,10 +130,12 @@ class ClusterClient(DirectObject.DirectObject): for object in self.controlMappings: name = self.controlMappings[object][0] serverList = self.controlMappings[object][1] - if (self.objectMapping.has_key(object)): + #print object + if (self.objectMappings.has_key(object)): self.moveObject(self.objectMappings[object],name,serverList, self.controlOffsets[object]) - + + #print "running control object" return Task.cont def moveObject(self, nodePath, object, serverList, offset): @@ -142,8 +144,9 @@ class ClusterClient(DirectObject.DirectObject): hpr = nodePath.getHpr(render) scale = nodePath.getScale(render) hidden = nodePath.isHidden() + color = nodePath.getColor() for server in serverList: - self.serverList[server].sendMoveNamedObject(xyz,hpr,scale,hidden,object) + self.serverList[server].sendMoveNamedObject(xyz,hpr,scale,hidden,color,object) def moveCameraTask(self, task): @@ -296,6 +299,7 @@ class ClusterClient(DirectObject.DirectObject): if (type == CLUSTER_NONE): pass elif (type == CLUSTER_NAMED_OBJECT_MOVEMENT): + #print "handling named movement datagram" self.handleNamedMovement(dgi) else: self.notify.warning("Received unsupported packet type:" % type) @@ -303,11 +307,13 @@ class ClusterClient(DirectObject.DirectObject): def handleNamedMovement(self, dgi): """ Update cameraJig position to reflect latest position """ - (name,x, y, z, h, p, r, sx, sy, sz, hidden) = self.msgHandler.parseNamedMovementDatagram( + (name,x, y, z, h, p, r, sx, sy, sz,r,g,b,a, hidden) = self.msgHandler.parseNamedMovementDatagram( dgi) + #print "name" if (self.objectMappings.has_key(name)): self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r) self.objectMappings[name].setScale(render,sx,sy,sz) + self.objectMappings[name].setColor(r,g,b,a) if (hidden): self.objectMappings[name].hide() else: @@ -422,12 +428,13 @@ class DisplayConnection: self.cw.send(datagram, self.tcpConn) - def sendMoveNamedObject(self, xyz, hpr, name): + def sendMoveNamedObject(self, xyz, hpr, scale, color, hidden, name): ClusterClient.notify.debug("send named object move...") ClusterClient.notify.debug(("packet %d xyz, hpr=%f %f %f %f %f %f" % (self.msgHandler.packetNumber, xyz[0], xyz[1], xyz[2], hpr[0], hpr[1], hpr[2]))) - datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz, hpr, + datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale, + color,hidden, name) self.cw.send(datagram, self.tcpConn) diff --git a/direct/src/cluster/ClusterMsgs.py b/direct/src/cluster/ClusterMsgs.py index 845a79ec3c..f9bb414685 100644 --- a/direct/src/cluster/ClusterMsgs.py +++ b/direct/src/cluster/ClusterMsgs.py @@ -157,7 +157,7 @@ class ClusterMsgHandler: datagram.addFloat32(hpr[2]) return datagram - def makeNamedObjectMovementDatagram(self, xyz, hpr, scale, hidden, name): + def makeNamedObjectMovementDatagram(self, xyz, hpr, scale, color, hidden, name): datagram = PyDatagram() datagram.addUint32(self.packetNumber) self.packetNumber = self.packetNumber + 1 @@ -172,6 +172,10 @@ class ClusterMsgHandler: datagram.addFloat32(scale[0]) datagram.addFloat32(scale[1]) datagram.addFloat32(scale[2]) + datagram.addFloat32(color[0]) + datagram.addFloat32(color[1]) + datagram.addFloat32(color[2]) + datagram.addFloat32(color[3]) datagram.addBool(hidden) return datagram @@ -197,8 +201,12 @@ class ClusterMsgHandler: sx = dgi.getFloat32() sy = dgi.getFloat32() sz = dgi.getFloat32() + r = dgi.getFloat32() + g = dgi.getFloat32() + b = dgi.getFloat32() + a = dgi.getFloat32() hidden = dgi.getBool() - return (name,x, y, z, h, p, r, sx, sy, sz, hidden) + return (name,x, y, z, h, p, r, sx, sy, sz, r, g, b, a, hidden) def makeSelectedMovementDatagram(self, xyz, hpr, scale): diff --git a/direct/src/cluster/ClusterServer.py b/direct/src/cluster/ClusterServer.py index cc4f9d4b99..1cc215b8bc 100644 --- a/direct/src/cluster/ClusterServer.py +++ b/direct/src/cluster/ClusterServer.py @@ -132,6 +132,7 @@ class ClusterServer(DirectObject.DirectObject): taskMgr.add(self.controlObjectTask,"controlObjectTask") def controlObjectTask(self, task): + #print "running control object task" for object in self.controlMappings: name = self.controlMappings[object] if (self.objectMappings.has_key(object)): @@ -141,11 +142,13 @@ class ClusterServer(DirectObject.DirectObject): def moveObject(self, nodePath, object, offset): self.notify.debug('moving object '+object) + #print "moving object",object xyz = nodePath.getPos(render) + offset hpr = nodePath.getHpr(render) scale = nodePath.getScale(render) + color = nodePath.getColor() hidden = nodePath.isHidden() - datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale,hidden,object) + datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale,color,hidden,object) self.cw.send(datagram, self.lastConnection) def startReaderPollTask(self): @@ -253,11 +256,12 @@ class ClusterServer(DirectObject.DirectObject): def handleNamedMovement(self, dgi): """ Update cameraJig position to reflect latest position """ - (name,x, y, z, h, p, r,sx,sy,sz, hidden) = self.msgHandler.parseNamedMovementDatagram( + (name,x, y, z, h, p, r,sx,sy,sz, r, g, b, a, hidden) = self.msgHandler.parseNamedMovementDatagram( dgi) if (self.objectMappings.has_key(name)): self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r) self.objectMappings[name].setScale(render,sx,sy,sz) + self.objectMappings[name].setColor(r,g,b,a) if (hidden): self.objectMappings[name].hide() else: