DIRECTORY DisplayMap, Rope, SVModelTypes, SVRayTypes; Preprocess3d: DEFINITIONS = BEGIN BoundBox: TYPE = SVModelTypes.BoundBox; BoundSphere: TYPE = SVModelTypes.BoundSphere; Camera: TYPE = SVModelTypes.Camera; CoordSystem: TYPE = SVModelTypes.CoordSystem; CSGTree: TYPE = SVRayTypes.CSGTree; PreprocessForImage: PROC [tree: CSGTree, camera: Camera] RETURNS [bb: BoundBox, bs: BoundSphere]; PreprocessForSlice: PROC [tree: CSGTree, camera: Camera] RETURNS [bs: BoundSphere]; PreprocessForInteraction: PROC [tree: CSGTree, camera: Camera] RETURNS [bb: BoundBox]; SetCurrentRayInPrimitives: PROC [node: REF ANY]; FindRayStepXInPrimitives: PROC [node: REF ANY]; GetGlobalTable: PROC RETURNS [DisplayMap.ColorTable]; SetUpColorMap: PROC [tableName: Rope.ROPE]; END. žFile: Preprocess3d.mesa Last edited by Bier on April 14, 1984 3:12:35 pm PST Copyright c 1984 by Xerox Corporation. All rights reserved. Author: Eric Bier before August 4, 1984 6:30:17 pm PDT Contents: File CSGImpl.mesa overflowed storage so I will put the preprocessing phases of ray casting in this interface. Preprocessing may include calculation transforms and their inverses, bounding boxes, unit rays in each instance coordinate system, and so forth. Before doing anything with a CSG tree, do this. Computes bounding spheres and bounding boxes as needed. Opens AIS files for use with texture mapping. Computes bounding spheres, but not bounding boxes. Opens no AIS files. Computes bounding boxes, but no bounding spheres. Opens no AIS files. Do this before each row of ray casting Do this before casting any rays so that we only have to do it once. Sets up the csg structure so you can cast rays at them. Κ…– "cedar" style˜Ihead1šœ™Iprocšœ4™4Jšœ Οmœ1™