GGAlign.mesa
Last edited by Bier on August 7, 1985 9:37:25 pm PDT.
Contents: Browses a Gargoyle scene looking for features which the user might be interested in aligning things to (trajectories, horizontal and vertical lines from object corners, symmetry lines, etc.) and builds up a data structure to represent them. This data is then passed onto modules such as GGGravity for use in selection, caret placement, dragging, and rotating.
DIRECTORY
GGGravity,
GGModelTypes,
GGInterfaceTypes;
GGAlign: CEDAR DEFINITIONS =
BEGIN
GargoyleData: TYPE = GGInterfaceTypes.GargoyleData;
Line: TYPE = GGModelTypes.Line;
ObjectBag: TYPE = GGGravity.ObjectBag;
Point: TYPE = GGModelTypes.Point;
Vector: TYPE = GGModelTypes.Vector;
Scene: TYPE = GGModelTypes.Scene;
Sequence: TYPE = GGModelTypes.Sequence;
AddItemsForAction: PROC [gargoyleData: GargoyleData, objectBag: ObjectBag, action: ATOM];
action should be one of $SelectPoint, $Add, $Drag, $DragStartUp, $SelectTrajectory. The appropriate alignment objects will be added to the object bag.
END.