VARKON Version 1.16 1998-03-24

> ## cur_approx - Geometric procedure

> Creates a curve
> Description
> This procedure approximates a curve with another curve type.
> The procedure can for instance be used to approximate a surface curve (a curve with UV_SEG segments) to a cubic curve (a curve with CUB_SEG segments).
> Syntax
> cur_approx(id, curve, ctype, method, cdata1, cdata2:attributes);

> REF | id;
> REF | curve;
> STRING | ctype*7;
> INT | method;
> FLOAT | cdata1;
> FLOAT | cdata2;

> Principal parameters

> id | - Local identity
> curve | - Identity of curve
> ctype | - Curve segment type
> | "CUB_SEG" or "CUBIC" = Approximate with non rational cubic segments
> | "RAT_SEG" or "RATIONAL" = Approximate with rational cubic segments
> | "CIR_SEG" = Approximate with circular arcs and lines
> method | - Approximation method
> | 1 = The number of segments is input (no tolerances used)
> | 2 = Reduce and/or add segments respecting the given tolerances
> | (Implemented for ctype= CIR_SEG)
> | 3 = Add only segments respecting the given tolerances
> cdata1 | - Data 1 for the computation
> | Requested number of segments for method= 1
> | Coordinate tolerance for method= 2 and method=3

> Optional parameters

> cdata2 | - Computational tolerance as follows:
> | Tangent (angle) tolerence for method 2 and 3
> | Criterion for a straight line (max curvature) for method 2 and ctype="CIR_SEG"

> Attributes

> PEN | - Pen or colour number
> LEVEL | - Level number
> BLANK | - Visible(0) or invisible(1)
> WIDTH | - Linewidth
> CFONT | - Solid (0), dashed (1) or centerline (2)
> CDASHL | - Dash length

> Example
> cur_approx(#10, #5, "CUBIC", 1, 4);
> Creates a new curve (#10) which approximates a previously created curve #5. The output curve will have cubic segments and the number of segments will be four times the number of segments for the old curve.
> No tolerances are used in the calculations.

VARKON Homepage | Index