pcb 4.1.1
An interactive printed circuit board layout editor.
|
00001 00018 #ifndef CURVE_H 00019 #define CURVE_H 00020 00021 #include "auxiliary.h" 00022 00034 struct privcurve_s 00035 { 00036 int n; 00037 int *tag; 00038 dpoint_t (*c)[3]; 00044 int alphacurve; 00045 dpoint_t *vertex; 00046 double *alpha; 00047 double *alpha0; 00049 double *beta; 00050 }; 00051 typedef struct privcurve_s privcurve_t; 00052 00053 struct sums_s 00054 { 00055 double x; 00056 double y; 00057 double x2; 00058 double xy; 00059 double y2; 00060 }; 00061 typedef struct sums_s sums_t; 00062 00072 struct potrace_privpath_s 00073 { 00074 int len; 00075 point_t *pt; 00076 int *lon; 00077 int x0; 00078 int y0; 00079 sums_t *sums; 00080 int m; 00081 int *po; 00082 privcurve_t curve; 00083 privcurve_t ocurve; 00084 privcurve_t *fcurve; 00087 }; 00088 typedef struct potrace_privpath_s potrace_privpath_t; 00089 00090 /* shorter names */ 00091 typedef potrace_privpath_t privpath_t; 00092 typedef potrace_path_t path_t; 00093 00094 path_t *path_new (void); 00095 void path_free (path_t * p); 00096 void pathlist_free (path_t * plist); 00097 int privcurve_init (privcurve_t * curve, int n); 00098 void privcurve_to_curve (privcurve_t * pc, potrace_curve_t * c); 00099 00100 #endif /* CURVE_H */