![]() Home Overview FAQ Documentation Download Mailing List Geomview For Windows? Support Users Development Bug Reporting Contributing Contact Us Sponsors
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] OOGL "*" behavior/documentation
If I understand correctly, the (*) notation on an appearance (or
material?) attribute in OOGL allows you to prevent lower objects in
the hierarchy from overriding the attribute when it is inherited.
This is actually an important feature for VRML (and one that I don't
see in the other proposed formats). The reason is that it allows you
to modify other people's canned objects (something virtual
world-builders will frequently want to do). If you want a red
version of Fred's schoolhouse, you can say
{ appearance { material { *diffuse 1 0 0 } }
{ < http://www.somewhere.com/fred/school.oogl } }
However, the documentation in the manual is somewhat cryptic
(actually misleading, I think):
> A "*" prefix on any attribute, e.g. "*+edge" or
> "*linewidth 2", selects "override" status for that
> attribute.
I propose to change this to:
------------
Normally, an object in the hierarchy is free to override any of the
appearance attributes it inherits. However, it is often desirable to
be able to enforce a specific appearance on pre-packaged objects
instantiated deeper in the hierarchy.
For this reason, OOGL allows attributes to be "locked" against
overrides by objects located deeper in the hierarchy. Locked
attributes are indicated with a "*" prefix; e.g. "*+edge" or
"*linewidth 2".
------------
In testing this feature, I found what I believe to be a bug in
Geomview: "*" does not currently interact correctly with itself. In
the following OOGL data
{ appearance { material { *diffuse 0 0 0 }}
{ LIST { appearance { material { *diffuse 1 1 1 } }
{ < dodec.off } } } }
the inner "*diffuse 1 1 1" is allowed to affect the appearance
despite the higher-level attempt at locking/"override".
PB
|
||
|
Home | Overview | FAQ | Documentation | Support | Download | Mailing List Windows? | Development | Bug Reporting | Contributing | Contact Us | Sponsors |
|||
|
site hosted by |
|||