Re: DEF/USE quibble

Gavin Bell (gavin@krypton.engr.sgi.com)
Wed, 12 Oct 1994 13:14:11 -0700


On Oct 11, 5:37pm, Linas Vepstas wrote:
> Shouldn't the second paragraph read instead:
>
> "The DEF keyword both defines a named node, AND creates a
> single instance of it. The USE keyword indicates that the
> most recently defined instance should be used.

Yes, I've stolen your (better) wording and am putting it into the spec.

> "Implementation Note: The USE keyword creates a new instance
> of a pointer to the previously defined named object. It does
> NOT create a new instance of the object itself.

An implementation could create a new instance when a USE was
encountered, and everything will look exactly the same to the user;
VRML is just the file format, it shouldn't specify implementation
details.

I'd like to keep the range of possible implementations as broad as
possible, so I'm wary of anything that restricts the kinds of
structures an implementor might use to represent the VRML file. That
isn't much of a problem now, but things will get pretty interesting
when we start trying to specify objects that change over time, and will
get VERY interesting if we allow objects to change the scene graph
topology over time (note: I think that is a really bad idea, exactly
because doing that makes it really hard to implement a VRML browser
with internal data structures that don't correspond one-to-one with the
objects in the VRML file).