<> <> DIRECTORY Seq, Complex USING [Vec], Cubic USING [Bezier]; Nodes: CEDAR DEFINITIONS = { <> DynNodes: PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, penalty: REAL] RETURNS [nodes: Seq.NatSequence]; <> CubicTangents: PROC [samples: Seq.ComplexSequence, closed: BOOLEAN, err: REAL, maxit: INT, 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: Cubic.Bezier] RETURNS [stop: BOOLEAN]; ICubicTangents: PROC [progress: Progress, samples: Seq.ComplexSequence, closed: BOOLEAN, err: REAL, maxit: INT, nodes: Seq.NatSequence _ NIL]; <> }.