<> <> <> <> <> <> DIRECTORY Complex USING [VEC], Seq USING [ComplexSequence]; DynFit: CEDAR DEFINITIONS = BEGIN OPEN Seq; PointNumber: TYPE = NAT; Patch: TYPE = RECORD[c0,c1,c2,c3: REAL _ 0]; PatchSequence: TYPE = REF PatchSequenceRec; PatchSequenceRec: TYPE = RECORD[element: SEQUENCE length:NAT OF Patch]; NearestZ: PUBLIC PROCEDURE [z: ComplexSequence, v:Complex.VEC] RETURNS [PointNumber]; Line: TYPE = RECORD [centerOfMass, direction: Complex.VEC]; BestLine: PROCEDURE [z: ComplexSequence, firstPoint, lastPoint: PointNumber] RETURNS [r: Line]; Segments: TYPE = REF SegmentSequenceRec; SegmentSequenceRec: TYPE = RECORD[endpoint: SEQUENCE length:NAT OF PointNumber]; FitSegments: PROCEDURE [z: ComplexSequence, closed: BOOLEAN, tolerance: REAL] RETURNS [segments: DynFit.Segments, totalBadness: REAL]; SampleSegments: PROCEDURE [segments: DynFit.Segments, z: ComplexSequence] RETURNS [newSamples: ComplexSequence, len: NAT]; END.