Networking component
This component contains the basic tools to combine various VRML/X3D models.
Inline allows to insert another 3D model into
the current file. Anchor makes a link that, when clicked,
will jump to the referenced file (similar to HTML <a href="...">).
See also X3D specification of Networking component.
Supported:
URLs everywhere are supported. file, http, and
data URIs are loaded, as well as special protocols for scripting
languages. Absolute as well as relative URLs are handled, of course.
For network support (http) in
view3dscene remember to enable first
Preferences -> Download Resources From Network option
(in your own programs using Castle Game Engine:
see variable CastleDownload.EnableNetwork).
Anchor
Files recognized as 3D models are loaded.
We jump to viewpoint in a 3D model (loaded or current), if specified.
Other documents (URLs not recognized as 3D models) are opened with
default WWW browser on your operating system.
TODO: parameter field is ignored.
Inline, (VRML 97) InlineLoadControl
Yes, this includes handling of InlineLoadControl features
to react to load, url and generate children
events. For X3D, basic Inline node already has
load, url features and they also work perfectly.
IMPORT / EXPORT feature is fully supported.
In both XML and classic encodings, of course.
Also supported in VRML 97 (including the ability to import in X3D nodes
exported in VRML 97, and vice versa).
Both importedDEF (preferred) and
exportedDEF (obsolete) are supported.
For the XML encoding, note that the X3D XML encoding
spec errorneously talks about exportedDEF
attribute of the <IMPORT> element.
It should be called importedDEF,
this is what is used in the schemas (like x3d-3.2.xsd),
looking at changelog
it's clear that the exportedDEF was deliberately renamed to
importedDEF.
See my mail on x3d-public,
submitted as X3D spec feedback.
IMPORT / EXPORT declarations allowed inside nodes,
just like ROUTEs.
This means that IMPORT / EXPORT do not have to be at the top-level
of the VRML file, they can be specified inside nodes.
While it's clearly allowed in XML encoding
(xsd says so, as far as I understand it,
also example ImportExportSyntax.x3d
uses it), in classic encoding it seems not allowed (grammar rules
suggest that they are only allowed at "statements").
But we allow it also inside nodes (this is consistent,
and makes converting XML->classic reliable).
See my mail on x3d-public,
submitted as X3D spec feedback.
TODO: LoadSensor is missing.
|