<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses, Ints, BigRats, RatIntervals, Variables, Polynomials, AlgebraicNumbers, Points, Sequences; CoveringSets: CEDAR DEFINITIONS ~ BEGIN OPEN AC: AlgebraClasses, BR: BigRats, RI: RatIntervals, VARS: Variables, AN: AlgebraicNumbers, PTS: Points, POL: Polynomials, SEQ: Sequences; <> CoveringSet: TYPE = AC.Object; bigRatZero: BR.BigRat; intZero: Ints.Int; CoveringSetData: TYPE = REF CoveringSetDataRec; CoveringSetDataRec: TYPE = RECORD [ cell: AC.Object _ NIL, -- cell to which this sample dataPoints belongs stepSize: BR.BigRat _ NIL, numDecimalPlaces: Ints.Int _ NIL, reach: Ints.Int _ NIL, boundingBox: PTS.Point _ NIL, dataPoints: SEQ.Sequence _ NIL -- of Sequences of PTS.Point's ]; <> coveringSetStructureClass: AC.StructureClass; <> CoveringSetStructureData: TYPE = REF CoveringSetStructureDataRec; CoveringSetStructureDataRec: TYPE = RECORD [ ambientSpaceDimension: NAT ]; <> CoveringSetOps: TYPE = REF CoveringSetOpsRec; -- prop key is $CoveringSetStructure. CoveringSetOpsRec: TYPE = RECORD [ cell: AC.UnaryOp, stepSize: AC.UnaryOp, numDecimalPlaces: AC.UnaryOp, reach: AC.UnaryOp, boundingBox: AC.UnaryOp, dataPoints: AC.UnaryOp ]; <> MakeCoveringSetStructure: PROC [ambientSpaceDimension: CARDINAL] RETURNS [coveringSetStructure: AC.Structure]; <<>> <> IsCoveringSetStructure: PROC [structure: AC.Structure] RETURNS [BOOL]; <<>> Cell: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; StepSize: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; NumDecimalPlaces: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; Reach: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; BoundingBox: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; <> DataPoints: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; <> Read: AC.ReadOp; FromRope: AC.FromRopeOp; ToRope: AC.ToRopeOp; Write: AC.WriteOp; <> SetCell: PROC [coveringSet, cell: AC.Object]; Cll: AC.UnaryOp; StepSz: AC.UnaryOp; NumDecPlc: AC.UnaryOp; Rch: AC.UnaryOp; BoundBox: AC.UnaryOp; DataPts: AC.UnaryOp; END.