pcb 4.1.1
An interactive printed circuit board layout editor.

privcurve_s Struct Reference

More...

#include <curve.h>

Collaboration diagram for privcurve_s:

Data Fields

int n
int * tag
dpoint_t(* c )[3]
int alphacurve
dpoint_tvertex
double * alpha
double * alpha0
double * beta

Detailed Description

vertex is c[1] for tag=POTRACE_CORNER, and the intersection of .c[-1][2]..c[0] and c[1]..c[2] for tag=POTRACE_CURVETO. alpha is only defined for tag=POTRACE_CURVETO and is the alpha parameter of the curve:
.c[-1][2]..c[0] = alpha*(.c[-1][2]..vertex), and
c[2]..c[1] = alpha*(c[2]..vertex).
Beta is so that (.beta[i])[.vertex[i],.vertex[i+1]] = .c[i][2].

Definition at line 34 of file curve.h.


Field Documentation

Only for POTRACE_CURVETO.

Definition at line 46 of file curve.h.

Referenced by opti_penalty(), opticurve(), privcurve_free_members(), privcurve_init(), and smooth().

"uncropped" alpha parameter - for debug output only.

Definition at line 48 of file curve.h.

Referenced by opticurve(), privcurve_free_members(), privcurve_init(), and smooth().

Have the following fields been initialized ?

Definition at line 44 of file curve.h.

Referenced by opticurve(), and smooth().

Definition at line 49 of file curve.h.

Referenced by opticurve(), privcurve_free_members(), privcurve_init(), and smooth().

c[n][i]: control points.
c[n][0] is unused for tag[n]=POTRACE_CORNER.
The remainder of this structure is special to privcurve, and is used in EPS debug output and special EPS "short coding". These fields are valid only if "alphacurve" is set.

Definition at line 38 of file curve.h.

Referenced by opti_penalty(), opticurve(), privcurve_free_members(), privcurve_init(), privcurve_to_curve(), and smooth().

Number of segments.

Definition at line 36 of file curve.h.

Referenced by opti_penalty(), opticurve(), privcurve_init(), privcurve_to_curve(), and smooth().

tag[n]: POTRACE_CORNER or POTRACE_CURVETO.

Definition at line 37 of file curve.h.

Referenced by opticurve(), privcurve_free_members(), privcurve_init(), privcurve_to_curve(), and smooth().

For POTRACE_CORNER, this equals c[1].

Definition at line 45 of file curve.h.

Referenced by adjust_vertices(), opti_penalty(), opticurve(), privcurve_free_members(), privcurve_init(), and smooth().


The documentation for this struct was generated from the following file: