<> <> <> <> <<>> DIRECTORY Imager, SVInterfaceTypes, SVSceneTypes; SVAlign: CEDAR DEFINITIONS = BEGIN AlignBag: TYPE = SVInterfaceTypes.AlignBag; Slice: TYPE = SVSceneTypes.Slice; FeatureData: TYPE = SVInterfaceTypes.FeatureData; Filters: TYPE = SVInterfaceTypes.Filters; Scene: TYPE = SVSceneTypes.Scene; Skitter: TYPE = SVInterfaceTypes.Skitter; SliceDescriptor: TYPE = SVSceneTypes.SliceDescriptor; SliceParts: TYPE = SVSceneTypes.SliceParts; TriggerBag: TYPE = REF TriggerBagObj; TriggerBagObj: TYPE = SVInterfaceTypes.TriggerBagObj; SVData: TYPE = SVInterfaceTypes.SVData; FilterSliceProc: TYPE = PROC [sliceD: SliceDescriptor, scene: Scene] RETURNS [stationary: SliceDescriptor]; << [Artwork node; type 'Artwork on' to command tool] >> <> emptyTriggerBag: TriggerBag; CreateTriggerBag: PROC [scene: Scene] RETURNS [triggerBag: TriggerBag]; <> FlushTriggerBag: PROC [triggerBag: TriggerBag]; <> CopyTriggerBag: PROC [triggerBag: TriggerBag] RETURNS [copy: TriggerBag]; <> <<>> emptyAlignBag: AlignBag; -- an (immutable) empty align bag. <> CreateAlignBag: PROC [] RETURNS [alignBag: AlignBag]; FlushAlignBag: PROC [alignBag: AlignBag]; FeatureFromSlice: PROC [slice: Slice, parts: SliceParts _ NIL] RETURNS [feature: FeatureData]; <> FillStaticSceneBag: PROC [scene: Scene, sceneBag: TriggerBag]; FillDynamicSceneBag: PROC [scene: Scene, sceneBag: TriggerBag]; <> FillStaticAlignBag: PROC [triggerBag: TriggerBag, sceneBag: TriggerBag, filters: Filters, hideAlignments: BOOL, midpoints: BOOL, alignBag: AlignBag]; FillDynamicAlignBag: PROC [triggerBag: TriggerBag, sceneBag: TriggerBag, filters: Filters, hideAlignments: BOOL, midpoints: BOOL, action: ATOM, alignBag: AlignBag]; <> SetStaticBags: PROC [svData: SVData]; SetDynamicBags: PROC [svData: SVData, action: ATOM]; StaticToDynamicBags: PROC [svData: SVData] RETURNS [repaintNeeded: BOOL]; DynamicToStaticBags: PROC [svData: SVData] RETURNS [repaintForeground: BOOL]; UpdateBagsForNewSlices: PROC [newSlices: LIST OF Slice, svData: SVData]; <> BuiltInFilters: PROC [triggerBag: TriggerBag, filters: Filters, hideAlignments: BOOL, alignBag: AlignBag]; AddAllMidpoints: PROC [sceneBag: TriggerBag, midpoints: BOOL, alignBag: AlignBag]; <<>> <> CreateAnchorTrigger: PROC [anchor: Skitter, triggerBag: TriggerBag] RETURNS [feature: FeatureData]; AddHotSlice: PROC [sliceD: SliceDescriptor, triggerBag: TriggerBag] RETURNS [feature: FeatureData]; IncrementalFilters: PROC [trigger: FeatureData, filters: Filters, hideAlignments: BOOL, alignBag: AlignBag] RETURNS [alignObjects: LIST OF FeatureData]; <> <> CreateAnchorAlignment: PROC [anchor: Skitter, alignBag: AlignBag] RETURNS [feature: FeatureData]; <> DrawAlignBagRegardless: PROC [dc: Imager.Context, alignBag: AlignBag, svData: SVData]; DrawFeatureList: PROC [dc: Imager.Context, alignObjects: LIST OF FeatureData, svData: SVData]; <> END.