*** empty log message ***

This commit is contained in:
Dustin Barnard 2007-09-13 23:53:37 +00:00
parent b3164e9df6
commit 059a2000a2
3 changed files with 29 additions and 14 deletions

View File

@ -54,6 +54,7 @@ class ClusterClient(DirectObject.DirectObject):
# A dictionary of objects that can be accessed by name
self.objectMappings = {}
self.objectHasColor = {}
# a dictionary of name objects and the corresponding names of
# objects they are to control on the server side
@ -133,18 +134,21 @@ class ClusterClient(DirectObject.DirectObject):
#print object
if (self.objectMappings.has_key(object)):
self.moveObject(self.objectMappings[object],name,serverList,
self.controlOffsets[object])
self.controlOffsets[object], self.objectHasColor[object])
#print "running control object"
return Task.cont
def moveObject(self, nodePath, object, serverList, offset):
def moveObject(self, nodePath, object, serverList, offset, hasColor = True):
self.notify.debug('moving object '+object)
xyz = nodePath.getPos(render) + offset
hpr = nodePath.getHpr(render)
scale = nodePath.getScale(render)
hidden = nodePath.isHidden()
if (hasColor):
color = nodePath.getColor()
else:
color = [1,1,1,1]
for server in serverList:
self.serverList[server].sendMoveNamedObject(xyz,hpr,scale,hidden,color,object)
@ -176,9 +180,10 @@ class ClusterClient(DirectObject.DirectObject):
return Task.cont
def addNamedObjectMapping(self,object,name):
def addNamedObjectMapping(self,object,name,hasColor = True):
if (not self.objectMappings.has_key(name)):
self.objectMappings[name] = object
self.objectHasColor[name] = hasColor
else:
self.notify.debug('attempt to add duplicate named object: '+name)
@ -307,13 +312,17 @@ 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,r,g,b,a, hidden) = self.msgHandler.parseNamedMovementDatagram(
(name,x, y, z, h, p, r, sx, sy, sz,red,g,b,a, hidden) = self.msgHandler.parseNamedMovementDatagram(
dgi)
#print "name"
#if (name == "camNode"):
# print x,y,z,h,p,r, sx, sy, sz,red,g,b,a, hidden
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 (self.objectHasColor[name]):
self.objectMappings[name].setColor(red,g,b,a)
if (hidden):
self.objectMappings[name].hide()
else:

View File

@ -201,12 +201,12 @@ class ClusterMsgHandler:
sx = dgi.getFloat32()
sy = dgi.getFloat32()
sz = dgi.getFloat32()
r = dgi.getFloat32()
red = 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, r, g, b, a, hidden)
return (name,x, y, z, h, p, r, sx, sy, sz, red, g, b, a, hidden)
def makeSelectedMovementDatagram(self, xyz, hpr, scale):

View File

@ -56,6 +56,7 @@ class ClusterServer(DirectObject.DirectObject):
self.daemon = DirectD()
self.objectMappings = {}
self.objectHasColor = {}
self.controlMappings = {}
self.controlOffsets = {}
@ -97,9 +98,10 @@ class ClusterServer(DirectObject.DirectObject):
return Task.cont
def addNamedObjectMapping(self,object,name):
def addNamedObjectMapping(self,object,name,hasColor = True):
if (not self.objectMappings.has_key(name)):
self.objectMappings[name] = object
self.objectHasColor[name] = hasColor
else:
self.notify.debug('attempt to add duplicate named object: '+name)
@ -136,17 +138,21 @@ class ClusterServer(DirectObject.DirectObject):
for object in self.controlMappings:
name = self.controlMappings[object]
if (self.objectMappings.has_key(object)):
self.moveObject(self.objectMappings[object],name,self.controlOffsets[object])
self.moveObject(self.objectMappings[object],name,self.controlOffsets[object],
self.objectHasColor[object])
return Task.cont
def moveObject(self, nodePath, object, offset):
def moveObject(self, nodePath, object, offset, hasColor):
self.notify.debug('moving object '+object)
#print "moving object",object
xyz = nodePath.getPos(render) + offset
hpr = nodePath.getHpr(render)
scale = nodePath.getScale(render)
if (hasColor):
color = nodePath.getColor()
else:
color = [1,1,1,1]
hidden = nodePath.isHidden()
datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale,color,hidden,object)
self.cw.send(datagram, self.lastConnection)
@ -256,12 +262,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, r, g, b, a, hidden) = self.msgHandler.parseNamedMovementDatagram(
(name,x, y, z, h, p, r,sx,sy,sz, red, 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)
self.objectMappings[name].setColor(red,g,b,a)
if (hidden):
self.objectMappings[name].hide()
else: