<> <> <> <> <> <<>> <> DIRECTORY Basics, FeedbackTypes, GGBasicTypes, GGCoreTypes, GGHistoryTypes, GGInterfaceTypes, GGModelTypes, GGUserInput, Imager, ImagerTransformation, Interpress, IO, RefTab, Rope; GGUtility: CEDAR DEFINITIONS = BEGIN Color: TYPE = Imager.Color; version: REAL; -- e.g. 8708.21 versionRope: Rope.ROPE; -- e.g. "8708.21" BitVector: TYPE = GGBasicTypes.BitVector; FeatureData: TYPE = GGModelTypes.FeatureData; MsgRouter: TYPE = FeedbackTypes.MsgRouter; GGData: TYPE = GGInterfaceTypes.GGData; HistoryEvent: TYPE = GGHistoryTypes.HistoryEvent; Scene: TYPE = GGModelTypes.Scene; Slice: TYPE = GGModelTypes.Slice; SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor; Sequence: TYPE = GGModelTypes.Sequence; SequenceOfReal: TYPE = GGCoreTypes.SequenceOfReal; Traj: TYPE = GGModelTypes.Traj; <> <> <<>> StartFeatureDataList: PROC [] RETURNS [entityList, ptr: LIST OF FeatureData]; AddFeatureData: PROC [entity: FeatureData, entityList, ptr: LIST OF FeatureData] RETURNS [newList, newPtr: LIST OF FeatureData]; CopyFeatureDataList: PROC [l: LIST OF FeatureData] RETURNS [copyList: LIST OF FeatureData]; FeatureDataNconc: PROC [l1, l2: LIST OF FeatureData] RETURNS [bigList: LIST OF FeatureData]; <> <<>> StartSequenceList: PROC [] RETURNS [entityList, ptr: LIST OF Sequence]; AddSequence: PROC [entity: Sequence, entityList, ptr: LIST OF Sequence] RETURNS [newList, newPtr: LIST OF Sequence]; AppendSequenceList: PROC [list1, list2: LIST OF Sequence] RETURNS [result: LIST OF Sequence]; DeleteSequenceFromList: PROC [seq: Sequence, seqList: LIST OF Sequence] RETURNS [smallerList: LIST OF Sequence]; SequenceSubst: PROC [new, old: Sequence, expr: LIST OF Sequence] RETURNS [head: LIST OF Sequence _ NIL]; <<>> <> <<>> StartSliceDescriptorList: PROC [] RETURNS [entityList, ptr: LIST OF SliceDescriptor]; AddSliceDescriptor: PROC [entity: SliceDescriptor, entityList, ptr: LIST OF SliceDescriptor] RETURNS [newList, newPtr: LIST OF SliceDescriptor]; AppendSliceDescriptorList: PROC [list1, list2: LIST OF SliceDescriptor] RETURNS [result: LIST OF SliceDescriptor]; DeleteSliceDescriptorFromList: PROC [sliceD: SliceDescriptor, sliceDList: LIST OF SliceDescriptor] RETURNS [smallerList: LIST OF SliceDescriptor]; CopySliceDescriptorList: PROC [list: LIST OF SliceDescriptor] RETURNS [copy: LIST OF SliceDescriptor]; <> <<>> StartSliceList: PROC [] RETURNS [entityList, ptr: LIST OF Slice]; AddSlice: PROC [entity: Slice, entityList, ptr: LIST OF Slice] RETURNS [newList, newPtr: LIST OF Slice]; AppendSliceList: PROC [list1, list2: LIST OF Slice] RETURNS [result: LIST OF Slice]; DeleteSliceFromList: PROC [slice: Slice, sliceList: LIST OF Slice] RETURNS [smallerList: LIST OF Slice]; FindSliceAndNeighbors: PROC [slice: Slice, sliceList: LIST OF Slice] RETURNS [beforeEnt, ent, afterEnt: LIST OF Slice, found: BOOL _ FALSE]; CopySliceList: PROC [sliceList: LIST OF Slice] RETURNS [copyList: LIST OF Slice]; Comparison: TYPE = Basics.Comparison; SliceCompareProc: TYPE = PROC [ref1: Slice, ref2: Slice] RETURNS [Comparison]; SortSliceList: PROC [list: LIST OF Slice, compareProc: SliceCompareProc] RETURNS [LIST OF Slice]; SortSliceListByPriority: PROC [list: LIST OF Slice] RETURNS [LIST OF Slice]; <> OverlapOrder: TYPE = {incr, decr}; OrderedSelectionList: PROC [ggData: GGData, order: OverlapOrder, andSelectEntire: BOOL _ FALSE] RETURNS [list: LIST OF Slice]; CopySceneClean: PROC [scene: Scene, copyAll: BOOL _ FALSE] RETURNS [virginList: LIST OF Slice, virginMap: RefTab.Ref]; <> RestoreSceneClean: PROC [scene: Scene, virginList: LIST OF Slice, virginMap: RefTab.Ref]; <> UnlinkCapturedScene: PROC [historyEvent: HistoryEvent]; <> <<>> <> <<>> StartTrajList: PROC [] RETURNS [entityList, ptr: LIST OF Traj]; AddTraj: PROC [entity: Traj, entityList, ptr: LIST OF Traj] RETURNS [newList, newPtr: LIST OF Traj]; <> AllFalse: PROC [bitvec: BitVector] RETURNS [BOOL]; AllTrue: PROC [bitvec: BitVector] RETURNS [BOOL]; <> <<>> <> <<>> plusInfinity: REAL = 1E16; minusInfinity: REAL = -1E16; <> epsilonInPoints: REAL = 7.2E-4; epsilonInInches: REAL = 1.0E-5; <> <> <<>> <> ChangeHue: PROC [startColor: Color, hueFrom: Color] RETURNS [newColor: Color]; CopyPattern: PROC [pattern: SequenceOfReal] RETURNS [new: SequenceOfReal]; EquivalentPatterns: PROC [p1, p2: SequenceOfReal] RETURNS [BOOL _ FALSE]; <> DescribeTraj: PROC [traj: Traj] RETURNS [text: Rope.ROPE]; DescribeColor: PROC [color: Imager.Color] RETURNS [rope: Rope.ROPE]; DescribeSequence: PROC [seq: Sequence] RETURNS [text: Rope.ROPE]; DescribeControlPoint: PROC [traj: Traj, segNum: NAT, cpNum: NAT] RETURNS [text: Rope.ROPE]; DescribeJoint: PROC [traj: Traj, jointNum: NAT] RETURNS [text: Rope.ROPE]; DescribeSegment: PROC [traj: Traj, segNum: NAT] RETURNS [text: Rope.ROPE]; DescribeInterior: PROC [traj: Traj] RETURNS [text: Rope.ROPE]; <> END.