<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses; Points: CEDAR DEFINITIONS ~ BEGIN OPEN Rope, AC: AlgebraClasses; <> Point: TYPE = AC.Object; PointData: TYPE = REF PointDataRec; PointDataRec: TYPE = RECORD [ SEQUENCE dimensionPlus1:[1..65534] OF AC.Object ]; <> pointStructureClass: AC.StructureClass; <> PointStructureData: TYPE = REF PointStructureDataRec; PointStructureDataRec: TYPE = RECORD [ coordinateStructure: AC.Structure, dimension: NAT ]; <> PointOps: TYPE = REF PointOpsRec; -- prop key is $PointStructure. PointOpsRec: TYPE = RECORD [ removeMainCoordinate: AC.UnaryOp, mainCoordinate: AC.UnaryOp ]; <> MakePointStructure: PROC [coordinateStructure: AC.Structure, dimension: NAT] RETURNS [pointStructure: AC.Structure]; <<>> <> IsPointStructure: PROC [structure: AC.Structure] RETURNS [BOOL]; <<>> RemoveMainCoordinate: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; <<>> MainCoordinate: PROC [structure: AC.Structure] RETURNS [AC.UnaryOp]; <> Read: AC.ReadOp; FromRope: AC.FromRopeOp; ToRope: AC.ToRopeOp; Write: AC.WriteOp; <> Equal: AC.EqualityOp; RemoveMainCood: AC.UnaryOp; MainCood: AC.UnaryOp; END.