diff options
author | lecoanet | 2002-09-02 12:23:13 +0000 |
---|---|---|
committer | lecoanet | 2002-09-02 12:23:13 +0000 |
commit | a54f2d228c29f05ccdfabb777edcd36b5e31f11b (patch) | |
tree | 580924c77a52664f52015ea297106185cd601d03 /generic/Geo.c | |
parent | f229c5c574c753a7f6ca14e2efa9e712cc4dd73d (diff) | |
download | tkzinc-a54f2d228c29f05ccdfabb777edcd36b5e31f11b.zip tkzinc-a54f2d228c29f05ccdfabb777edcd36b5e31f11b.tar.gz tkzinc-a54f2d228c29f05ccdfabb777edcd36b5e31f11b.tar.bz2 tkzinc-a54f2d228c29f05ccdfabb777edcd36b5e31f11b.tar.xz |
* (SmoothPathWithBezier): Supprime les arrondis en entier utilis�s
dans le calcul des points de controle des Beziers
intermediaires. Cela conduisait � des points inexplicables ?-)
en sortie.
Diffstat (limited to 'generic/Geo.c')
-rw-r--r-- | generic/Geo.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/generic/Geo.c b/generic/Geo.c index 085ff87..57dab76 100644 --- a/generic/Geo.c +++ b/generic/Geo.c @@ -2457,14 +2457,14 @@ SmoothPathWithBezier(ZnPoint *fp, */ if ((fp[0].x == fp[num_fp-1].x) && (fp[0].y == fp[num_fp-1].y)) { closed = True; - s[0].x = REAL_TO_INT(0.5*fp[num_fp-2].x + 0.5*fp[0].x); - s[0].y = REAL_TO_INT(0.5*fp[num_fp-2].y + 0.5*fp[0].y); - s[1].x = REAL_TO_INT(0.167*fp[num_fp-2].x + 0.833*fp[0].x); - s[1].y = REAL_TO_INT(0.167*fp[num_fp-2].y + 0.833*fp[0].y); - s[2].x = REAL_TO_INT(0.833*fp[0].x + 0.167*fp[1].x); - s[2].y = REAL_TO_INT(0.833*fp[0].y + 0.167*fp[1].y); - s[3].x = REAL_TO_INT(0.5*fp[0].x + 0.5*fp[1].x); - s[3].y = REAL_TO_INT(0.5*fp[0].y + 0.5*fp[1].y); + s[0].x = 0.5*fp[num_fp-2].x + 0.5*fp[0].x; + s[0].y = 0.5*fp[num_fp-2].y + 0.5*fp[0].y; + s[1].x = 0.167*fp[num_fp-2].x + 0.833*fp[0].x; + s[1].y = 0.167*fp[num_fp-2].y + 0.833*fp[0].y; + s[2].x = 0.833*fp[0].x + 0.167*fp[1].x; + s[2].y = 0.833*fp[0].y + 0.167*fp[1].y; + s[3].x = 0.5*fp[0].x + 0.5*fp[1].x; + s[3].y = 0.5*fp[0].y + 0.5*fp[1].y; ZnListAdd(to_points, s, ZnListTail); GetBezierPoints(s, to_points, 1.0); } @@ -2480,14 +2480,14 @@ SmoothPathWithBezier(ZnPoint *fp, */ if ((i == 2) && !closed) { s[0] = fp[0]; - s[1].x = REAL_TO_INT(0.333*fp[0].x + 0.667*fp[1].x); - s[1].y = REAL_TO_INT(0.333*fp[0].y + 0.667*fp[1].y); + s[1].x = 0.333*fp[0].x + 0.667*fp[1].x; + s[1].y = 0.333*fp[0].y + 0.667*fp[1].y; } else { - s[0].x = REAL_TO_INT(0.5*fp[0].x + 0.5*fp[1].x); - s[0].y = REAL_TO_INT(0.5*fp[0].y + 0.5*fp[1].y); - s[1].x = REAL_TO_INT(0.167*fp[0].x + 0.833*fp[1].x); - s[1].y = REAL_TO_INT(0.167*fp[0].y + 0.833*fp[1].y); + s[0].x = 0.5*fp[0].x + 0.5*fp[1].x; + s[0].y = 0.5*fp[0].y + 0.5*fp[1].y; + s[1].x = 0.167*fp[0].x + 0.833*fp[1].x; + s[1].y = 0.167*fp[0].y + 0.833*fp[1].y; } /* @@ -2495,15 +2495,15 @@ SmoothPathWithBezier(ZnPoint *fp, * for last segment of open curves. */ if ((i == num_fp-1) && !closed) { - s[2].x = REAL_TO_INT(0.667*fp[1].x + 0.333*fp[2].x); - s[2].y = REAL_TO_INT(0.667*fp[1].y + 0.333*fp[2].y); + s[2].x = 0.667*fp[1].x + 0.333*fp[2].x; + s[2].y = 0.667*fp[1].y + 0.333*fp[2].y; s[3] = fp[2]; } else { - s[2].x = REAL_TO_INT(0.833*fp[1].x + 0.167*fp[2].x); - s[2].y = REAL_TO_INT(0.833*fp[1].y + 0.167*fp[2].y); - s[3].x = REAL_TO_INT(0.5*fp[1].x + 0.5*fp[2].x); - s[3].y = REAL_TO_INT(0.5*fp[1].y + 0.5*fp[2].y); + s[2].x = 0.833*fp[1].x + 0.167*fp[2].x; + s[2].y = 0.833*fp[1].y + 0.167*fp[2].y; + s[3].x = 0.5*fp[1].x + 0.5*fp[2].x; + s[3].y = 0.5*fp[1].y + 0.5*fp[2].y; } /* |