[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[x3d-public] Re: [www-vrml] Walking Kamala



Ultimately, I'd love to be able to code X3D the way I do javascript. Namely, just 'include' (or 'import' whatever) the file, and be able to access its contents at-will, just like javascript. I understand for whatever security and propriety reasons the need to 'hide' content, and I wish that the original spec had required a 'static' or 'hidden' tag or something to indicate such things, but an 'export all' statement of some sort would suffice at this point.
Such a file would/could be 'imported' and just used as if it had been there all along, just like javascript does. Wouldn't that be nice? Not to have to sync proto/externproto headers? To be able to get at whatever you need/want from another file? Man would that be sweet. Tony and I kicked around the idea of a 'proto import' functionality, best of both worlds, but not in the spec.
Anywho, just as putting a loadsensor on an Inline does NOT tell you when all of the Inline's contents are loaded (just the inline itself, but wouldn't THAT be nice too!?), I would live with an extern/imported file being able to be load-sensed, such that I could know when that's 'in'
My current application uses rather large (many-poly) models, with a few bitmap textures. It's those models, not the linked textures, I'd love to load sense (so the user doesn't assume the plugin has hung up). Perhaps, and I'm just spit-balling here, not looking at a spec:


<Import url="myexterns.x3d" DEF="myexterns" />
<LoadSensor>
 <watch USE="myexterns" />
</LoadSensor>

<ExternProto url="externprotos.x3d" ... blah blah />
<LoadSensor>
<watch DEF='ANYTHING_WITH_A_URL_SHOULD_BE_LOAD_SENSED' USE='externprotos.x3d' />
</LoadSensor


<Include url="if_this_never_loads_who_cares_if_it_was_sync_or_async_it_is_still_broken_content_and_wont_work.x3d"/>
<LoadSensor DEF='And_I_dont_care_that_it_is_a_lot_of_work_because_your_plugin_wasnt_designed_like_that_it_is_too_valuable_not_to_have" />


something along those lines.

Dave A


Joe D Williams wrote:



Joe D Williams wrote:
Inlines: getting events to an inlined object/world in the containing world
and from one.  VRML97 doesn't allow that

i would say that it is not that it is not allowed, just in the VRML97
run-time, the spec does not require it. The X3D spec does require it.

..snip..
Thanks,
Joe

Joe, are you saying that the X3D spec allows for getting events into and out of
an Inline node?

Yes Dave, from what I understand, this is what we use ImportExport for.

Can you point to chapter/verse on that?

<http://www.web3d.org/x3d/specifications/ISO-IEC-19775-X3DAbstractSpecification_Revision1_to_Part1/Part01/concepts.html#ImportExportsemantics



<http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part01/concepts.html#IMPORT_EXPORTStatementSyntax>



<http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part02/concepts.html#IMPORTStatementSyntax>



I'd love to see it happen,

Speak to your boss:).

I hate ExternProtos, and nobody has implemented Import/Export (that I use), so
this would be very useful, if true.

Yes!

Dave, I think if you don't like ExternProtos, then you are not using
them right or expecting the wrong things.
I think it is like saying you don't like external .js files as scripts.
For instance, you want an externporto to tell you progress as it is
loaded (i think). In general, due to the fact that it does not know its
final content until it is loaded, and the fact that it cannot report
anything at all until it is loaded is just something you have to design with.


The added import/export interfaces for an inline do not make this any
easier or better, it just makes one more way a constructing a composite
scene possible. If you need to put a proto into an inline, then dup a bunch
of interfaces so you can talk to the proto from within the inline, then you
might rethink it and move some stuff around.


Cheers

Dave A


Good Luck, Joe
-------------------------------------------------------------------------
for list subscription/unsubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html