Copyright (C) 1994, Digital Equipment Corp.
Created by Marc Najork
INTERFACEGOPrivate ; IMPORT GraphicsBase, KeyCBStack, MouseCBStack, PositionCBStack, Prop, PropList; FROM GO IMPORT T, Public; REVEAL T <: Private; TYPE Private = Public BRANDED OBJECT props : PropList.T; trans : REAL; (* FIRST(REAL) means: no transmission coeff in props *) name : TEXT; mouseCBstack : MouseCBStack.T; positionCBstack : PositionCBStack.T; keyCBstack : KeyCBStack.T; damaged : BOOLEAN; dl : REFANY; (* A wrapper around a PEX "Structure" or an OpenGL "Display List" *) METHODS draw (base : GraphicsBase.T); needsTransparency (t : REAL) : BOOLEAN; damageIfDependent (pn : Prop.Name); adjust (time : LONGREAL); END;
go.damageIfDependent(pn)
leaves a damage trail from go
to all
descendants of go
(including go
) that depend on pn
.
go.adjust(time)
reevaluates all property values attached to go
and
its descendants, based on the given time. It also might add damages to
the scene, either to go
or to some of its children. Damaging a node
causes damage to all its ancestors as well.
END GOPrivate.