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