Re: [Fresco-devel] OSG-Prototype
Stefan Seefeld <[email protected]> Tue, 20 Jul 2004 20:03:53 -0400
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
Friedemann Gerold wrote: > 2nd, if the client passes server-objects to some other server-object we > should avoid to pass corba-references. so my idea was to pass unique id's. > > this means: > > button.setChild(text.id()); > window.setChild(button.id()); > desktop.addChild(window.id()); > > on server-side we resolve this id's to pointers to the Impl-objects. > then we can use internal interfaces directly without passing all thing > over CORBA. while this is indeed the idea behind the efford to encapsulate the scene-graph inside the server, I don't see how passing an id is any better than passing an object reference (in fact, where is the difference ?). Passing objects allows for some type-system to kick in directly at the communication layer, so the server backend doesn't need to care. Beside that, I agree: what should be passed around should be much more decoupled from the scene-graph objects (the 'servants' as they are called in CORBA slang). > what level of scenegraph the client should manipulate? in my draft i > build my own tree of hight-level objects the client can manipulate. is > this ok? I believe the client should be able to construct and manipulate the scene graph (well, a subgraph he is authorized to access). This really boils down to methods such as 'begin()' and 'end()' for child iteration, and 'insert()', 'remove()' for tree manipulation. Another point you address (and which we touched on in the last IRC) is the separation between graphic node and GUI model. I think everything agrees that the application logic is kept inside the clients, but what about the GUI models ? Who maintains the widget state ? (and, assuming the answer is 'the server': how rich should these models become ? In the 'old' fresco API they were really minimalist, but people complained that this API was arcane and non-intuitive). Regards, Stefan