<> <> <> <> <> 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]; << Do this before each row of ray casting>> FindRayStepXInPrimitives: PROC [node: REF ANY]; << 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.>> GetGlobalTable: PROC RETURNS [DisplayMap.ColorTable]; SetUpColorMap: PROC [tableName: Rope.ROPE]; END.