X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsupport%2Fclip.cpp;h=e11e33442faf6802b024320ad5bc63c9c37f421e;hp=9c2abbc79a069ce6ecf07f1a5e928436b0cc10bc;hb=c00c639073653fac7463a88f2b000f263236550d;hpb=12e2c29153a0f55ac23bdeec06b404638672985b diff --git a/libctsupport/clip.cpp b/libctsupport/clip.cpp index 9c2abbc..e11e334 100644 --- a/libctsupport/clip.cpp +++ b/libctsupport/clip.cpp @@ -14,7 +14,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: clip.cpp,v 1.2 2000/06/19 19:04:05 kevin Exp $ +** $Id: clip.cpp,v 1.7 2001/01/02 16:02:13 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -42,7 +42,7 @@ * double u,v Dimensions of segment */ -int +bool clip_segment (double& x1, double& y1, double& x2, double& y2, const double u, const double v) { double xc1 = x1 * u; @@ -88,7 +88,7 @@ clip_segment (double& x1, double& y1, double& x2, double& y2, const double u, co * double u,v Size of sector */ -int +bool clip_sector (double& x1, double& y1, double& x2, double& y2, const double u, const double v) { double xc1 = x1 * u; @@ -124,7 +124,7 @@ clip_sector (double& x1, double& y1, double& x2, double& y2, const double u, con * double t1,t2 Starting & stopping angles of clipping */ -int +bool clip_circle (double& x1, double& y1, double& x2, double& y2, const double cx, const double cy, const double radius, double t1, double t2) { double xc1 = x1; @@ -151,8 +151,8 @@ clip_circle (double& x1, double& y1, double& x2, double& y2, const double cx, co xform_mtx2 (rotmtx, ccx, ccy); t1 += theta; // rotate start and stop angles t2 += theta; - t1 = norm_ang (t1); - t2 = norm_ang (t2); + t1 = normalizeAngle (t1); + t2 = normalizeAngle (t2); if (xc2 < -D_EPSILON || fabs(yc2) > F_EPSILON) { sys_error (ERR_SEVERE, "Internal error in clip_circle\n x1=%6.2f, y1=%6.2f, x2=%6.2f, y2=%6.2f, xc2=%6.2f, yc2=%6.2f, theta=%6.2f", x1, y1, x2, y2, xc2, yc2, theta); @@ -241,7 +241,7 @@ clip_circle (double& x1, double& y1, double& x2, double& y2, const double cx, co static int tcode (const double x, const double y, const double m, const double b, const int clip_xaxis); -int +bool clip_triangle (double& x1, double& y1, double& x2, double& y2, const double u, const double v, const int clip_xaxis) { double m = v / u; // slope of triangle lines @@ -251,8 +251,7 @@ clip_triangle (double& x1, double& y1, double& x2, double& y2, const double u, c int c2 = tcode (x2, y2, m, b, clip_xaxis); #ifdef DEBUG - crt_set_cpos (1,1); - printf ("x1:%6.2f y1:%6.2f code1:%2d x2:%6.2f y2:%6.2f code2:%2d", + printf ("x1:%6.2f y1:%6.2f code1:%2d x2:%6.2f y2:%6.2f code2:%2d\n", x1, y1, c1, x2, y2, c2); #endif while ( c1 || c2 ) { @@ -294,8 +293,7 @@ clip_triangle (double& x1, double& y1, double& x2, double& y2, const double u, c x2=x; y2=y; c2=tcode (x2,y2,m,b,clip_xaxis); } #ifdef DEBUG - crt_set_cpos (1,1); - printf ("x1:%6.2f y1:%6.2f code1:%2d x2:%6.2f y2:%6.2f code2:%2d", x1, y1, c1, x2, y2, c2); + printf ("x1:%6.2f y1:%6.2f code1:%2d x2:%6.2f y2:%6.2f code2:%2d\n", x1, y1, c1, x2, y2, c2); #endif } @@ -333,7 +331,7 @@ tcode (const double x, const double y, const double m, const double b, const int static int rectcode (double x, double y, const double rect[4]); -int +bool clip_rect (double& x1, double& y1, double& x2, double& y2, const double rect[4]) { double x = 0, y = 0;