File: SVBoundSphere.mesa
Last edited by: Eric Bier on September 24, 1987 2:11:32 pm PDT
Contents: Computes a sphere which is guaranteed to bound a given polyhedron. Implements operations on such spheres.
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.