<> <> <> <> <> DIRECTORY Complex USING [VEC], Cubic2 USING [Bezier], LSPiece USING [Metrics], Seq USING [ComplexSequence, NatSequence]; Nodes: CEDAR DEFINITIONS = { <<>> <> DynNodes: PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, penalty: REAL] RETURNS [nodes: Seq.NatSequence]; <> <<>> CubicTangents: PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, metrics: LSPiece.Metrics, nodes: Seq.NatSequence _ NIL] RETURNS [tangents: Seq.ComplexSequence]; <> <<>> QuickTangents: PUBLIC PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, maxAngle: REAL, nodes: Seq.NatSequence _ NIL] RETURNS [tangents: Seq.ComplexSequence]; <> <<>> SquareTangents: PUBLIC PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, maxAngle: REAL, nodes: Seq.NatSequence _ NIL] RETURNS [tangents: Seq.ComplexSequence]; <> <<>> Progress: TYPE = PROC[tangent: Complex.VEC, cubic: Cubic2.Bezier] RETURNS [stop: BOOLEAN]; ICubicTangents: PROC [progress: Progress, samples: Seq.ComplexSequence, closed: BOOLEAN, metrics: LSPiece.Metrics, nodes: Seq.NatSequence _ NIL]; <> <<>> <<>> }.