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
|
# A dictionary of objects that can be accessed by name
|
||||||
self.objectMappings = {}
|
self.objectMappings = {}
|
||||||
|
self.objectHasColor = {}
|
||||||
|
|
||||||
# a dictionary of name objects and the corresponding names of
|
# a dictionary of name objects and the corresponding names of
|
||||||
# objects they are to control on the server side
|
# objects they are to control on the server side
|
||||||
@ -133,18 +134,21 @@ class ClusterClient(DirectObject.DirectObject):
|
|||||||
#print object
|
#print object
|
||||||
if (self.objectMappings.has_key(object)):
|
if (self.objectMappings.has_key(object)):
|
||||||
self.moveObject(self.objectMappings[object],name,serverList,
|
self.moveObject(self.objectMappings[object],name,serverList,
|
||||||
self.controlOffsets[object])
|
self.controlOffsets[object], self.objectHasColor[object])
|
||||||
|
|
||||||
#print "running control object"
|
#print "running control object"
|
||||||
return Task.cont
|
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)
|
self.notify.debug('moving object '+object)
|
||||||
xyz = nodePath.getPos(render) + offset
|
xyz = nodePath.getPos(render) + offset
|
||||||
hpr = nodePath.getHpr(render)
|
hpr = nodePath.getHpr(render)
|
||||||
scale = nodePath.getScale(render)
|
scale = nodePath.getScale(render)
|
||||||
hidden = nodePath.isHidden()
|
hidden = nodePath.isHidden()
|
||||||
|
if (hasColor):
|
||||||
color = nodePath.getColor()
|
color = nodePath.getColor()
|
||||||
|
else:
|
||||||
|
color = [1,1,1,1]
|
||||||
for server in serverList:
|
for server in serverList:
|
||||||
self.serverList[server].sendMoveNamedObject(xyz,hpr,scale,hidden,color,object)
|
self.serverList[server].sendMoveNamedObject(xyz,hpr,scale,hidden,color,object)
|
||||||
|
|
||||||
@ -176,9 +180,10 @@ class ClusterClient(DirectObject.DirectObject):
|
|||||||
return Task.cont
|
return Task.cont
|
||||||
|
|
||||||
|
|
||||||
def addNamedObjectMapping(self,object,name):
|
def addNamedObjectMapping(self,object,name,hasColor = True):
|
||||||
if (not self.objectMappings.has_key(name)):
|
if (not self.objectMappings.has_key(name)):
|
||||||
self.objectMappings[name] = object
|
self.objectMappings[name] = object
|
||||||
|
self.objectHasColor[name] = hasColor
|
||||||
else:
|
else:
|
||||||
self.notify.debug('attempt to add duplicate named object: '+name)
|
self.notify.debug('attempt to add duplicate named object: '+name)
|
||||||
|
|
||||||
@ -307,13 +312,17 @@ class ClusterClient(DirectObject.DirectObject):
|
|||||||
|
|
||||||
def handleNamedMovement(self, dgi):
|
def handleNamedMovement(self, dgi):
|
||||||
""" Update cameraJig position to reflect latest position """
|
""" 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)
|
dgi)
|
||||||
#print "name"
|
#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)):
|
if (self.objectMappings.has_key(name)):
|
||||||
self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r)
|
self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r)
|
||||||
self.objectMappings[name].setScale(render,sx,sy,sz)
|
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):
|
if (hidden):
|
||||||
self.objectMappings[name].hide()
|
self.objectMappings[name].hide()
|
||||||
else:
|
else:
|
||||||
|
@ -201,12 +201,12 @@ class ClusterMsgHandler:
|
|||||||
sx = dgi.getFloat32()
|
sx = dgi.getFloat32()
|
||||||
sy = dgi.getFloat32()
|
sy = dgi.getFloat32()
|
||||||
sz = dgi.getFloat32()
|
sz = dgi.getFloat32()
|
||||||
r = dgi.getFloat32()
|
red = dgi.getFloat32()
|
||||||
g = dgi.getFloat32()
|
g = dgi.getFloat32()
|
||||||
b = dgi.getFloat32()
|
b = dgi.getFloat32()
|
||||||
a = dgi.getFloat32()
|
a = dgi.getFloat32()
|
||||||
hidden = dgi.getBool()
|
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):
|
def makeSelectedMovementDatagram(self, xyz, hpr, scale):
|
||||||
|
@ -56,6 +56,7 @@ class ClusterServer(DirectObject.DirectObject):
|
|||||||
self.daemon = DirectD()
|
self.daemon = DirectD()
|
||||||
|
|
||||||
self.objectMappings = {}
|
self.objectMappings = {}
|
||||||
|
self.objectHasColor = {}
|
||||||
self.controlMappings = {}
|
self.controlMappings = {}
|
||||||
self.controlOffsets = {}
|
self.controlOffsets = {}
|
||||||
|
|
||||||
@ -97,9 +98,10 @@ class ClusterServer(DirectObject.DirectObject):
|
|||||||
return Task.cont
|
return Task.cont
|
||||||
|
|
||||||
|
|
||||||
def addNamedObjectMapping(self,object,name):
|
def addNamedObjectMapping(self,object,name,hasColor = True):
|
||||||
if (not self.objectMappings.has_key(name)):
|
if (not self.objectMappings.has_key(name)):
|
||||||
self.objectMappings[name] = object
|
self.objectMappings[name] = object
|
||||||
|
self.objectHasColor[name] = hasColor
|
||||||
else:
|
else:
|
||||||
self.notify.debug('attempt to add duplicate named object: '+name)
|
self.notify.debug('attempt to add duplicate named object: '+name)
|
||||||
|
|
||||||
@ -136,17 +138,21 @@ class ClusterServer(DirectObject.DirectObject):
|
|||||||
for object in self.controlMappings:
|
for object in self.controlMappings:
|
||||||
name = self.controlMappings[object]
|
name = self.controlMappings[object]
|
||||||
if (self.objectMappings.has_key(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
|
return Task.cont
|
||||||
|
|
||||||
def moveObject(self, nodePath, object, offset):
|
def moveObject(self, nodePath, object, offset, hasColor):
|
||||||
self.notify.debug('moving object '+object)
|
self.notify.debug('moving object '+object)
|
||||||
#print "moving object",object
|
#print "moving object",object
|
||||||
xyz = nodePath.getPos(render) + offset
|
xyz = nodePath.getPos(render) + offset
|
||||||
hpr = nodePath.getHpr(render)
|
hpr = nodePath.getHpr(render)
|
||||||
scale = nodePath.getScale(render)
|
scale = nodePath.getScale(render)
|
||||||
|
if (hasColor):
|
||||||
color = nodePath.getColor()
|
color = nodePath.getColor()
|
||||||
|
else:
|
||||||
|
color = [1,1,1,1]
|
||||||
hidden = nodePath.isHidden()
|
hidden = nodePath.isHidden()
|
||||||
datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale,color,hidden,object)
|
datagram = self.msgHandler.makeNamedObjectMovementDatagram(xyz,hpr,scale,color,hidden,object)
|
||||||
self.cw.send(datagram, self.lastConnection)
|
self.cw.send(datagram, self.lastConnection)
|
||||||
@ -256,12 +262,12 @@ class ClusterServer(DirectObject.DirectObject):
|
|||||||
|
|
||||||
def handleNamedMovement(self, dgi):
|
def handleNamedMovement(self, dgi):
|
||||||
""" Update cameraJig position to reflect latest position """
|
""" 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)
|
dgi)
|
||||||
if (self.objectMappings.has_key(name)):
|
if (self.objectMappings.has_key(name)):
|
||||||
self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r)
|
self.objectMappings[name].setPosHpr(render, x, y, z, h, p, r)
|
||||||
self.objectMappings[name].setScale(render,sx,sy,sz)
|
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):
|
if (hidden):
|
||||||
self.objectMappings[name].hide()
|
self.objectMappings[name].hide()
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user