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