Hi,

I've got some other questions:

- Is there a way to unregister functors from RemoteAspects? I've only seen register* methods, no unregister* methods... I only need a callback once to find a certain named node, and I'd like to unregister the callback afterwards... Right now, I'm just using a flag and immediately return from the function when I no longer need the callback...

- While I'm at it: I couldn't find much documentation on the Functor stuff... As far as I understand, they are used for callback purposes, is that right?

- I'm now able to replicate a scene graph from a server to several clients via the RemoteAspect. As far as I understood it, the Connection class handles this 1-n connection. I extended the StreamSockConnection to allow accepting new connections in a non-blocking way (I just put the accept() calls in another thread that is handled by the Connection). That seems to work fine, too. However, I would like clients to be able to connect and disconnect anytime. I'm not sure wether the Connection class has any way of detecting disconnected channels, so far I haven't succeeded at this (I've implemented a callback for new connections, after the accept() call returns, maybe I can come up with something likewise when detecting a broken connection).

- Clients might connect to the scene server some time after the scene is initialized (loaded from a file). It seems that they only get the current change list, not the whole scene. That sounds logical because I clear the change list after every sendSync() (otherwise I understand that the changes would be applied another time with the next sync()). However, I'd like a client that connects to the server to get the whole scene in its current state, so that I can use receiveSync() afterwards... I already tried the copyToBin() / copyFromBin() methods in NodePtr on my Connection (with FieldBits::AllFields), but the copyFromBin() call crashes. I've sent the size beforehand (via getBinSize() and connection->putValue()), and this is sent correctly, so I'm positive that the copyFromBin() call causes the segfault. I'm not sure why, since I couldn't find much documentation on that method, too. What's strange is that getBinSize() returns 41, though I've loaded the tie.wrl scene and expected it to be much larger than 41 bytes...? Am I doing something wrong (should the RemoteAspect replicate the full scene for newly connected receivers?) or what would be the preferred way to manually send the whole scene?

- Does anyone know of a way to search (not browse) the mailing list archives (at sourceforge or geocrawler)? I'm able to browse them, but I haven't found a search option...

Cheers,
  Robert


Robert Hinn schrieb:

Oops, you were right. When using cylinders, cones, etc., I used 18 sides, so I specified a depth of 18 for the sphere, too. Should have read the documentation more carefully. No wonder the program "hangs", trying to subdivide all isocaeder surfaces 18 times ;-)

I've closed the bug report I filed... Silly me...

Yours,
  Robert


Akos Balazs schrieb:

On Thu, 15 Jan 2004, Robert Hinn wrote:


I finally realized where the error occurs: The program hangs on the
makeSphere() (or makeSphereGeo()) call. I tried makeBox() instead, and
it works. I also tried makePlane(), makeTorus(), makeCone(),
makeCylinder() and makeConicalFrustum(), they all work well, only
makeSphere() and makeSphereGeo() cause the program to hang...



Just a tip: could it be that you give a too high number for makeSphere() ?
makeSphere[Geo]() creates the geometry by subdividing an icosaeder AFAIR,
and it might just take a long time. I think what you want most of the time
is the makeLatLongSphere[Geo]() functions.

HTH,
    Akos



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to