<> <> <> DIRECTORY Imager, G3dRender; G3dSortandDisplay: CEDAR DEFINITIONS ~ BEGIN <> Context: TYPE ~ G3dRender.Context; ContextProc: TYPE ~ G3dRender.ContextProc; Triple: TYPE ~ G3dRender.Triple; Patch: TYPE ~ G3dRender.Patch; PatchProc: TYPE ~ G3dRender.PatchProc; Shape: TYPE ~ G3dRender.Shape; ShapeProc: TYPE ~ G3dRender.ShapeProc; ShapeSequence: TYPE ~ G3dRender.ShapeSequence; FacingDir: TYPE ~ G3dRender.FacingDir; <<>> SortRecord: TYPE ~ RECORD [ patch: REF Patch, -- ref to patch description next, prev: INT, -- forward and backward links in bucket chain dir: FacingDir -- patch backfacing? ]; SortSequence: TYPE ~ REF SortSequenceRep; SortSequenceRep: TYPE ~ RECORD [SEQUENCE length: CARDINAL OF REF SortRecord]; LORA: TYPE ~ LIST OF REF ANY; <> FlushLog: PROC [context: Context]; GetPtrPatchClipState: PROC [shape: Shape, patch: REF Patch]; <> <> ValidateContext: PROC [context: Context]; <> ValidateDisplay: PROC [context: Context]; <> ValidateView: PROC [context: Context]; <> ValidateShape: ShapeProc; <> <> ValidatePolyhedron: ShapeProc; <> DummyValidate: ShapeProc; SetEyeSpace: PROC [context: Context]; <> WindowFromViewPort: PROC [context: Context] RETURNS [REF Imager.Rectangle]; <> <> LoadPrioritySequence: PROC [context: Context, sortOrder: LORA _ NIL] RETURNS [LORA, CARDINAL]; <> LoadDepthSequence: PROC [context: Context, sortOrder: LORA _ NIL] RETURNS [LORA, CARDINAL]; <> DoBackToFront: PROC [context: Context, sortInfo: LORA, action: PROC [REF Patch]]; <> DoFrontToBack: PROC [context: Context, sortInfo: LORA, action: PROC [REF Patch]]; <> DoForPatches: PROC [ context: Context, set: ShapeSequence, patchAction: PROC [REF Patch], shapeAction: PROC [Shape]]; <> CombineBoxes: PROC [context: Context]; <> <<>> ShowObjects: PROC [context: Context, frontToBack: BOOL _ FALSE]; <> OutputPolygon: PatchProc; RopeDisplay: PatchProc; <> <> MakeFrame: ContextProc; <> ShowShapes: ContextProc; <> END.