mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
Set scale for cluster message
This commit is contained in:
parent
28a83773d6
commit
1fb3d30012
@ -83,7 +83,7 @@ class ClusterClient(DirectObject.DirectObject):
|
||||
scale = VBase3(1)
|
||||
decomposeMatrix(last.getMat(), scale, hpr, xyz)
|
||||
for server in self.serverList:
|
||||
server.sendMoveSelected(xyz,hpr)
|
||||
server.sendMoveSelected(xyz,hpr,scale)
|
||||
return Task.cont
|
||||
|
||||
def getNodePathFindCmd(self, nodePath):
|
||||
@ -206,13 +206,15 @@ class DisplayConnection:
|
||||
datagram = self.msgHandler.makeCamMovementDatagram(xyz, hpr)
|
||||
self.cw.send(datagram, self.tcpConn)
|
||||
|
||||
def sendMoveSelected(self,xyz,hpr):
|
||||
def sendMoveSelected(self,xyz,hpr,scale):
|
||||
ClusterClient.notify.debug("send move selected...")
|
||||
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.makeSelectedMovementDatagram(xyz, hpr)
|
||||
ClusterClient.notify.debug(
|
||||
"packet %d xyz,hpr=%f %f %f %f %f %f %f %f %f" %
|
||||
(self.msgHandler.packetNumber,
|
||||
xyz[0],xyz[1],xyz[2],
|
||||
hpr[0],hpr[1],hpr[2],
|
||||
scale[0],scale[1],scale[2]))
|
||||
datagram = self.msgHandler.makeSelectedMovementDatagram(xyz, hpr,scale)
|
||||
self.cw.send(datagram, self.tcpConn)
|
||||
|
||||
# the following should only be called by a synchronized cluster manger
|
||||
|
@ -154,7 +154,7 @@ class ClusterMsgHandler:
|
||||
(x,y,z,h,p,r)))
|
||||
return (x,y,z,h,p,r)
|
||||
|
||||
def makeSelectedMovementDatagram(self,xyz,hpr):
|
||||
def makeSelectedMovementDatagram(self,xyz,hpr,scale):
|
||||
datagram = Datagram.Datagram()
|
||||
datagram.addUint32(self.packetNumber)
|
||||
self.packetNumber = self.packetNumber + 1
|
||||
@ -165,6 +165,9 @@ class ClusterMsgHandler:
|
||||
datagram.addFloat32(hpr[0])
|
||||
datagram.addFloat32(hpr[1])
|
||||
datagram.addFloat32(hpr[2])
|
||||
datagram.addFloat32(scale[0])
|
||||
datagram.addFloat32(scale[1])
|
||||
datagram.addFloat32(scale[2])
|
||||
return datagram
|
||||
|
||||
def parseSelectedMovementDatagram(self, dgi):
|
||||
@ -174,9 +177,12 @@ class ClusterMsgHandler:
|
||||
h=dgi.getFloat32()
|
||||
p=dgi.getFloat32()
|
||||
r=dgi.getFloat32()
|
||||
self.notify.debug(' new position=%f %f %f %f %f %f' %
|
||||
(x,y,z,h,p,r))
|
||||
return (x,y,z,h,p,r)
|
||||
sx=dgi.getFloat32()
|
||||
sy=dgi.getFloat32()
|
||||
sz=dgi.getFloat32()
|
||||
self.notify.debug(' new position=%f %f %f %f %f %f %f %f %f' %
|
||||
(x,y,z,h,p,r,sx,sy,sz))
|
||||
return (x,y,z,h,p,r,sx,sy,sz)
|
||||
|
||||
def makeCommandStringDatagram(self, commandString):
|
||||
datagram = Datagram.Datagram()
|
||||
|
@ -193,9 +193,10 @@ class ClusterServer(DirectObject.DirectObject):
|
||||
|
||||
def handleSelectedMovement(self,dgi):
|
||||
""" Update cameraJig position to reflect latest position """
|
||||
(x,y,z,h,p,r) = self.msgHandler.parseSelectedMovementDatagram(dgi)
|
||||
(x,y,z,h,p,r,sx,sy,sz) = self.msgHandler.parseSelectedMovementDatagram(
|
||||
dgi)
|
||||
if last:
|
||||
last.setPosHpr(x,y,z,h,p,r)
|
||||
last.setPosHprScale(x,y,z,h,p,r,sx,sy,sz)
|
||||
|
||||
def handleCommandString(self, dgi):
|
||||
""" Handle arbitrary command string from client """
|
||||
|
@ -173,6 +173,7 @@ class DirectSession(PandaObject):
|
||||
self.cluster = ClusterServer(base.cameraList[0], base.camList[0])
|
||||
else:
|
||||
self.cluster = DummyClusterClient()
|
||||
__builtin__.cluster = self.cluster
|
||||
|
||||
def enable(self):
|
||||
# Make sure old tasks are shut down
|
||||
|
Loading…
x
Reference in New Issue
Block a user