Blame spiro.h

rpm-build 8267b0
#ifndef _SPIRO_H
rpm-build 8267b0
#define _SPIRO_H
rpm-build 8267b0
rpm-build 8267b0
typedef struct {
rpm-build 8267b0
/* User passes an array of SpiroCP in this format for Spiro to solve */
rpm-build 8267b0
    double x;		/* Spiro CodePoint Xloc */
rpm-build 8267b0
    double y;		/* Spiro CodePoint Yloc */
rpm-build 8267b0
    char ty;		/* Spiro CodePoint Type */
rpm-build 8267b0
} spiro_cp;
rpm-build 8267b0
rpm-build 8267b0
struct spiro_seg_s {
rpm-build 8267b0
/* run_spiro() uses array of information given in the structure above and */
rpm-build 8267b0
/* creates an array in this structure format to use by spiro_to_bpath for */
rpm-build 8267b0
/* building bezier curves */
rpm-build 8267b0
    double x;		/* SpiroCP segment_chord startX */
rpm-build 8267b0
    double y;		/* SpiroCP segment_chord startY */
rpm-build 8267b0
    char ty;		/* Spiro CodePoint Type */
rpm-build 8267b0
    double bend_th;	/* bend theta between this vector and next vector */
rpm-build 8267b0
    double ks[4];
rpm-build 8267b0
    double seg_ch;	/* segment_chord distance from xy to next SpiroCP */
rpm-build 8267b0
    double seg_th;	/* segment_theta angle for this SpiroCP */
rpm-build 8267b0
    double l;
rpm-build 8267b0
};
rpm-build 8267b0
rpm-build 8267b0
typedef struct spiro_seg_s spiro_seg;
rpm-build 8267b0
rpm-build 8267b0
spiro_seg *
rpm-build 8267b0
run_spiro(const spiro_cp *src, int n);
rpm-build 8267b0
rpm-build 8267b0
void
rpm-build 8267b0
free_spiro(spiro_seg *s);
rpm-build 8267b0
rpm-build 8267b0
void
rpm-build 8267b0
spiro_to_bpath(const spiro_seg *s, int n, bezctx *bc);
rpm-build 8267b0
rpm-build 8267b0
double get_knot_th(const spiro_seg *s, int i);
rpm-build 8267b0
#endif