File: SVBoundSphere.mesa
Last edited by: Eric Bier on February 18, 1987 6:27:43 pm PST
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;
BoundSphere: TYPE = SVBasicTypes.BoundSphere;
Camera: TYPE = SVModelTypes.Camera;
CoordSystem: TYPE = SVModelTypes.CoordSystem;
Point3d: TYPE = SV3d.Point3d;
Vector3d: TYPE = SV3d.Vector3d;
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: Imager.Context, boundSphere: BoundSphere, camera: Camera];
END.