<> <> <> DIRECTORY Graphics, SV3d, SVModelTypes; SVBoundSphere: DEFINITIONS = BEGIN BoundHedron: TYPE = SVModelTypes.BoundHedron; BoundSphere: TYPE = SVModelTypes.BoundSphere; Camera: TYPE = SVModelTypes.Camera; CoordSystem: TYPE = SVModelTypes.CoordSystem; Point3d: TYPE = SV3d.Point3d; Vector: TYPE = SV3d.Vector; CopyBoundSphere: PROC [boundSphere: BoundSphere] RETURNS [newBS: BoundSphere]; BoundSphereFromBoundHedron: PROC [bh: BoundHedron, worldCS: CoordSystem, localCS: CoordSystem] RETURNS [boundSphere: BoundSphere]; BoundSphereFromValues: PROC [centerWORLD: Point3d, radius: REAL] RETURNS [boundSphere: BoundSphere]; UnionCombineBoundSpheres: PROC [bs1, bs2: BoundSphere] RETURNS [newBS: BoundSphere]; IntersectionCombineBoundSpheres: PROC [bs1, bs2: BoundSphere] RETURNS [newBS: BoundSphere]; DifferenceCombineBoundSpheres: PROC [bs1, bs2: BoundSphere] RETURNS [newBS: BoundSphere]; DrawBoundSphere: PROC [dc: Graphics.Context, boundSphere: BoundSphere, camera: Camera]; END.