<> <> <> <> <> DIRECTORY AtomButtonsTypes, GGBasicTypes, GGModelTypes, Imager, Interpress, ImagerTransformation, IO, Rope, ViewerClasses; GGUtility: CEDAR DEFINITIONS = BEGIN BitVector: TYPE = GGBasicTypes.BitVector; FeatureData: TYPE = GGModelTypes.FeatureData; FeedbackData: TYPE = AtomButtonsTypes.FeedbackData; Outline: TYPE = GGModelTypes.Outline; OutlineDescriptor: TYPE = GGModelTypes.OutlineDescriptor; Sequence: TYPE = GGModelTypes.Sequence; SequenceOfReal: TYPE = GGBasicTypes.SequenceOfReal; Slice: TYPE = GGModelTypes.Slice; SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor; Traj: TYPE = GGModelTypes.Traj; Viewer: TYPE = ViewerClasses.Viewer; <> <<>> StartFeatureDataList: PROC [] RETURNS [entityList, ptr: LIST OF FeatureData]; AddFeatureData: PROC [entity: FeatureData, entityList, ptr: LIST OF FeatureData] RETURNS [newList, newPtr: 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]; DeleteSequenceFromList: PROC [seq: Sequence, seqList: LIST OF Sequence] RETURNS [smallerList: LIST OF Sequence]; AppendSequenceList: PROC [list1, list2: LIST OF Sequence] RETURNS [result: LIST OF Sequence]; <<>> <> <<>> StartSliceDescriptorList: PROC [] RETURNS [entityList, ptr: LIST OF SliceDescriptor]; AddSliceDescriptor: PROC [entity: SliceDescriptor, entityList, ptr: LIST OF SliceDescriptor] RETURNS [newList, newPtr: LIST OF SliceDescriptor]; DeleteSliceDescriptorFromList: PROC [sliceD: SliceDescriptor, sliceDList: LIST OF SliceDescriptor] RETURNS [smallerList: LIST OF SliceDescriptor]; AppendSliceDescriptorList: PROC [list1, list2: LIST OF SliceDescriptor] RETURNS [result: LIST OF SliceDescriptor]; <> <<>> <> StartList: PROC [] RETURNS [entityList, ptr: LIST OF REF ANY]; AddEntity: PROC [entity: REF ANY, entityList, ptr: LIST OF REF ANY] RETURNS [newList, newPtr: LIST OF REF ANY]; <> <<>> SetOfRefAny: TYPE = REF SetOfRefAnyObj; SetOfRefAnyObj: TYPE = RECORD [ count: NAT, sorted: BOOL _ FALSE, refs: SEQUENCE maxCount: NAT OF REF ANY ]; EmptySet: PROC [] RETURNS [set: SetOfRefAny]; AddToSet: PROC [entity: REF ANY, set: SetOfRefAny]; SizeOfSet: PROC [set: SetOfRefAny] RETURNS [count: NAT]; FetchSetElement: PROC [set: SetOfRefAny, index: NAT] RETURNS [entity: REF ANY]; DeleteFromSet: PROC [index: NAT, set: SetOfRefAny]; SortSet: PROC [set: SetOfRefAny, orderProc: OrderProc]; OrderProc: TYPE = PROC [e1, e2: REF ANY] RETURNS [e1GoesBeforeE2: BOOL]; <<>> <> AppendNATs: PROC [list1, list2: LIST OF NAT] RETURNS [result: LIST OF NAT]; StartNATList: PROC [] RETURNS [entityList, ptr: LIST OF NAT]; StartTrajList: PROC [] RETURNS [entityList, ptr: LIST OF Traj]; StartSDList: PROC [] RETURNS [entityList, ptr: LIST OF SliceDescriptor]; StartOutlineList: PROC [] RETURNS [entityList, ptr: LIST OF Outline]; StartSliceList: PROC [] RETURNS [entityList, ptr: LIST OF Slice]; AddNAT: PROC [entity: NAT, entityList, ptr: LIST OF NAT] RETURNS [newList, newPtr: LIST OF NAT]; AddTraj: PROC [entity: Traj, entityList, ptr: LIST OF Traj] RETURNS [newList, newPtr: LIST OF Traj]; AddSD: PROC [entity: SliceDescriptor, entityList, ptr: LIST OF SliceDescriptor] RETURNS [newList, newPtr: LIST OF SliceDescriptor]; AddOutline: PROC [entity: Outline, entityList, ptr: LIST OF Outline] RETURNS [newList, newPtr: LIST OF Outline]; AddSlice: PROC [entity: Slice, entityList, ptr: LIST OF Slice] RETURNS [newList, newPtr: LIST OF Slice]; <> <<>> BreakIntervalMOD: PROC [start, end, mod: NAT] RETURNS [s1, e1, s2, e2: INT]; <> < [6, 6, 0, 2];>> < [2, 6, -1, -1];>> BreakIntervalMODLen: PROC [start, len, mod: NAT] RETURNS [s1, len1, s2, len2: INT]; <> InMODRegion: PROC [test: NAT, start, end, mod: NAT] RETURNS [BOOL]; <> <<>> <> 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; <> <<>> GetGargoyleFileName: PROC [ggName: Rope.ROPE, currentWDir: Rope.ROPE, feedback: FeedbackData, emergency: BOOL _ FALSE] RETURNS [fullName: Rope.ROPE _ NIL, success: BOOL _ TRUE, versionSpecified: BOOL _ FALSE]; GetInterpressFileName: PROC [ipName: Rope.ROPE, currentWDir: Rope.ROPE, feedback: FeedbackData] RETURNS [fullName: Rope.ROPE _ NIL, success: BOOL _ TRUE]; GetScriptFileName: PROC [scriptName: Rope.ROPE, currentWDir: Rope.ROPE, feedback: FeedbackData] RETURNS [fullName: Rope.ROPE _ NIL, success: BOOL _ TRUE]; OpenInterpressOrComplain: PROC [feedback: FeedbackData, fullName: Rope.ROPE] RETURNS [ipMaster: Interpress.Master, success: BOOL]; <> <<>> ExtractRGB: PROC [color: Imager.Color] RETURNS [r,g,b: REAL]; GetSpecialColor: PROC RETURNS [color: Imager.Color]; EquivalentColors: PROC [color1, color2: Imager.Color] RETURNS [BOOL]; CopyPattern: PROC [pattern: SequenceOfReal] RETURNS [new: SequenceOfReal]; <> <<>> BoolToRope: PROC [bool: BOOL] RETURNS [rope: Rope.ROPE]; <> RopeToBool: PROC [rope: Rope.ROPE] RETURNS [bool: BOOL]; <> <<>> END.