This is a string property that specifies base URL of each node.
Actually, for now our engine doesn't support downloading data using
any network protocol,
so this is always treated just like an absolute path
on local file-system. It is always set to the directory of VRML file from which given
node was read. It's used by nodes that reference any external file,
like Inline
or ImageTexture
.
Thanks to this field, all such nodes can always resolve their
url
fields with respect to the directory of their
file.
For example, assume that inside some directory you have a main VRML file
main.wrl
and two subdirectories: textures
and inline
. Inside textures
you
have a file my_texture.png
and inside
inline
you have VRML file
textured_box.wrl
. Finally, let's say that
you want to include textured box in main.wrl
file,
so you write
Inline { url "inline/textured_box.wrl" }
Now inside textured_box.wrl
you should reference
the texture like
ImageTexture { url "../textures/texture.png" }
and everything will work when you open main.wrl
VRML file.
Moreover, textured_box.wrl
is able to “stand
on it's own” too, which means that you can open only
textured_box.wrl
and texture will still be properly
read.
This is similar to xml:base
attribute in XML, that was needed to make including XML files by XInclude
and referencing external files from various elements (like DocBook's
imagedata
) to cooperate seamlessly.