mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
*** empty log message ***
This commit is contained in:
parent
b3164e9df6
commit
059a2000a2
@ -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:
|
||||
|
@ -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):
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user