NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
=?iso-8859-1?q?Keith=20Pang?= wrote: > In collaborative displays any changes in one display > eg. zoom, is reflected at the server display and also > other displays linked to that server display. > > I would like to know whether there is a way of > severing that relation so that at the press of a > button, a client can work independently with his own > display. Any changes that the client makes will not > affect other clients. > > At the moment I am using the DisplayImplJ3D > constructor that takes a RemoteDisplay as the > argument. Sorry for taking so long getting back to you ... I was out of town last week, so it took me a while to catch up. There is currently no way to detach a VisAD Display from collaborative mode. It'd be trivial to add something like this to DisplayImpl.java: public void stopCollaboration() { displayMonitor = null; displaySync = null; } Reattaching the client to a collaboration server is a much harder problem. Collaboration works by having the client Display copy the server Display and then uses events to keep the two (or more) Dispays synchronized (see the Javadoc for visad.DisplayMonitorImpl for more details) so when you reattach, you have to choose whether to copy the client Display to the server or to copy the server Display to the client. The easiest path would be to throw away all the client's changes and recopy the server's Display info using the protected syncRemoteData() method in DisplayImpl. If you want to copy the client's Display to the server, you'll probably have to create a new MonitorEvent telling the server to copy the client's state, then write all the code to accomplish that. This would be a fairly large job, and I don't currently have time to work on it. If you do change VisAD to allow any of this, I'd appreciate it if you sent me your changes so I could merge them back in to the main distribution! I wrote most of the collaboration code, so feel free to send me any further questions you might have (or you can continue to send them to the mailing list if you think they're of general interest) and I'll do my best to answer them. Good luck!
visad
archives: