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@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/


_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to