A type that is used to describe (possibly dynamic) coordinates. Internally all coordinates are in $\RR^4$ (projective coordinates). Any GraphicsObject can be turned into a GraphicsCoordinate corresponding to the reference point $(0,0,0,1)$ in its local coordinate system. GraphicsCoodinates can also be manipulated using various operations such as addition, multiplication by scalar, etc. Though you can perform the conversion from GraphicsObject to GraphicsCoodinates explicitly using "new... from...", you do not ever need to do so since this conversion is performed automatically if you use a GraphicsObject as coordinate inside another object, or apply arithmetic operations to it. A convenient way to define GraphicsCoodinates is via gNode.
|
|
Note that any object that the GraphicsCoodinate depends on must be provided explicitly as part of the picture, even if that object happens to be "invisible". In the example that follows, a is an empty graphical object, yet it must be included in the gList for the animation to work correctly.
|
|
The object GraphicsCoordinate is a self initializing type, with ancestor classes GraphicsAncestor < HashTable < Thing.