<> <> <> DIRECTORY Imager, SV3d, SVBasicTypes, SVModelTypes; SVBoundSphere: CEDAR DEFINITIONS = BEGIN BoundHedron: TYPE = SVBasicTypes.BoundHedron; Camera: TYPE = SVModelTypes.Camera; Circle3d: TYPE = SV3d.Circle3d; CoordSystem: TYPE = SVModelTypes.CoordSystem; Point3d: TYPE = SV3d.Point3d; Sphere: TYPE = SV3d.Sphere; Vector3d: TYPE = SV3d.Vector3d; CopyBoundSphere: PROC [boundSphere: Sphere] RETURNS [newBS: Sphere]; BoundSphereFromBoundHedron: PROC [bh: BoundHedron, worldCS: CoordSystem, localCS: CoordSystem] RETURNS [boundSphere: Sphere]; BoundSphereFromValues: PROC [centerWORLD: Point3d, radius: REAL] RETURNS [boundSphere: Sphere]; UnionCombineBoundSpheres: PROC [bs1, bs2: Sphere] RETURNS [newBS: Sphere]; IntersectionCombineBoundSpheres: PROC [bs1, bs2: Sphere] RETURNS [newBS: Sphere]; DifferenceCombineBoundSpheres: PROC [bs1, bs2: Sphere] RETURNS [newBS: Sphere]; DrawBoundSphere: PROC [dc: Imager.Context, boundSphere: Sphere, camera: Camera]; DrawCircle3d: PUBLIC PROC [dc: Imager.Context, circle: Circle3d, camera: Camera]; END.