[x3d-public] External prototypes

doug sanden highaspirations at hotmail.com
Thu Mar 12 08:38:53 PDT 2015

Ideally any script nodes in the EPI would have their initialize() function run after IS routing is ready, so you could make your own .loaded field.

> I suspect Networking component> LoadSensor
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#LoadSensor
> cannot be used, because the URL is on the EP declaration, not the instance, and the declaration isn't in the scenegraph where LoadSensor can get to it. And there are extra steps after the declaration is loaded, to populate the instances and hook up the IS routes to the instance interface.
> Networking Component> Inline has a .load field [in,out] and I suspect it sends an event out TRUE when it's loaded.
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#Anchor
> Ideally EPIs would have that too.
>> Ideally I think there should be a .loaded event or testable field on the externProtoInstance (the interface), so you can test / know when it's ready for routing.
>> -Doug
>>> when declaring external prototypes, the author needs to declare the
>>> subset of the interface she intends to use by replicating those fields
>>> from the prototype declaration (cf X3D spec
>>> What is the rationale behind this? Seem to make the implementation a
>>> little bit simpler, but since events that occure before the prototype
>>> has been resolved are ignored anyway, this is really just a little bit.
>>> However it complicates the use of external prototypes because it's a
>>> popular source of error (at least for my first steps with prototypes at
>>> times when maybe the error messages in then popular X3D browsers where
>>> improvable).
>>> But maybe I miss something.
>>> Best,
>>> Kristian


More information about the x3d-public mailing list