<> <> <> <> <<>> DIRECTORY GGBasicTypes, GGSegmentTypes; GGMeasure: CEDAR DEFINITIONS = BEGIN Point: TYPE = GGBasicTypes.Point; Segment: TYPE = GGSegmentTypes.Segment; SlopeOfSegment: PROC [seg: Segment] RETURNS [degrees: REAL]; <> SlopeOfPoints: PROC [p0, p1: Point] RETURNS [degrees: REAL]; CounterClockwiseBetweenSegments: PROC [seg1, seg2: Segment] RETURNS [degreesSeg1ToSeg2: REAL]; SmallestAngleOfPoints: PROC [a, b, c: Point] RETURNS [degreesAngleABC: REAL]; <> LengthOfSegment: PROC [seg: Segment] RETURNS [lengthInPoints: REAL]; DistanceBetweenPoints: PROC [p0, p1: Point] RETURNS [lengthInPoints: REAL]; DistanceFromPointToSegment: PROC [p: Point, seg: Segment] RETURNS [distanceInPoints: REAL]; DistanceFromPointToLine: PROC [p: Point, p1, p2: Point] RETURNS [distance: REAL]; END.