<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses, Ints, BigRats, RatIntervals, Variables, Polynomials, AlgebraicNumbers, Vectors, Sequences; CoveringSets: CEDAR DEFINITIONS ~ BEGIN OPEN AC: AlgebraClasses, BR: BigRats, RI: RatIntervals, VARS: Variables, AN: AlgebraicNumbers, 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: Vectors.Vector _ NIL, dataPoints: SEQ.Sequence _ NIL -- of Sequences of PTS.Point's ]; <> 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.Object]; <<>> IsCoveringSetStructure: PROC [structure: AC.Object] RETURNS [BOOL]; <<>> <> Read: AC.ReadOp; FromRope: AC.FromRopeOp; ToRope: AC.ToRopeOp; Write: AC.WriteOp; <> SetCell: PROC [coveringSet, cell: AC.Object]; Cell: AC.UnaryOp; StepSize: AC.UnaryOp; NumDecimalPlaces: AC.UnaryOp; Reach: AC.UnaryOp; BoundingBox: AC.UnaryOp; DataPoints: AC.UnaryOp; END.