[vos-d] second draft requirements

Rob Meyers robmeyers at hotmail.com
Tue Feb 27 09:51:38 EST 2007


>
>http://www.web3d.org/x3d/specifications/ISO-IEC-19775-X3DAbstractSpecification/
Heh, k, I'll take a second look at it.

>
>That usually not true. Your scipt node should run in a sandbox. The only
>way to communicate between different script nodes should be by the way
>of events and routes.
>And by the means of the SAI of course.
>Everything else might work with some browsers (e.g. if the Script nodes
>do not run in a sandbox but share a VM) but IMO would be not standard
>compliant.
>
Ah, then we are talking about the same thing then.  Basically what they have 
set up is a programming language with no blocking method calls between 
objects, all method calls have return type void, and you are restricted in 
sending string, floats, ints, and bools during these calls, and only one 
type during the call.  When you start to write a real 3d application with 
these requirements, the results are ridiculous.

As an example, a whiles back I thought it would be great to implement the 
standard 2d controls directly in VRML, so you can build real 3d apps.  
Naturally, you would want to encapsulate each control in its own proto so 
they can be used in all sorts of different apps.  Now, imagine you did that 
but you have the restrictions above for making inter object calls.  A call 
to showing a dialog box looks like:

App Node sends open dialog box event to Dialog Box Node with one call 
describing the message, and another call for the identity of the calling 
node (so the method can return), and the App Node continues processing, but 
must set state "this is why i was waiting on dialog box result".  Dialog Box 
gets clicked, then identifies caller node, sends back result.  The App Node 
receives the result, asses why it was waiting for the result, and then 
processes result in another function.  Basically, we just added in a whole 
bunch of boiler plate code for what is known as a blocking method call with 
a return value.

I think scripting within a node is great if you can get away with it, I do 
it all the time, but any real application is going to require true object 
interaction, with all the trimmings of the native programming language.  The 
EAI at least acknowledged this, so unless I can have access to one global 
virtual machine somehow between all nodes, I would say that the capability 
has been removed.

>
> > public void initialize()
> > {
> >       CommonObject o = Register.instance.GetCommonObject();
> > }
> >
> > Node 2 -
> > ...
> > public void initialize()
> > {
> >       CommonObject o = Register.instance.GetCommonObject();
> > }
>
>I believe this is not possible. How should this work, if one node were
>implemented in JS and the other in Java? (Ok, we have .NET now :-)
Good point.  Suppose you group nodes from the same language together, then 
the calls make sense.

> > public void initialize()
> > {
> >        Node node = EAILikeInterface.CreateVrmlFromURL(url);
> >        node.getEventOut("foo").advise(this, "foo");
> > }
> > public void callback....
>
>Yeah that should be doable using the SAI.
That's good to hear.

> > >I know of a browser which makes the SAI available through a web
> > >interface and thus offers a quite generic way to communicate with the
> > >scene.
> > I didn't quite understand this, you have a link?
>
>The link is http://www.zgdv.de/avalon/, but it's closed source and there
>seems to be information about the web interface available. Perhaps it is
>not exactly making the SAI available externally, I might have be to rash
>on that. But you can definitely visualize the scene graph and I believe
>you can also modify fields.
Cool, will check it out.

Awesome, thanks for the info,
Rob

>
>Regards Ben
>
>
>_______________________________________________
>vos-d mailing list
>vos-d at interreality.org
>http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

_________________________________________________________________
Don’t miss your chance to WIN 10 hours of private jet travel from Microsoft® 
Office Live http://clk.atdmt.com/MRT/go/mcrssaub0540002499mrt/direct/01/




More information about the vos-d mailing list