X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Fkmath.h;fp=include%2Fkmath.h;h=2a8145422162a0e1cf584a5ff29ed474872a91e5;hb=2f71224f911d19adaa941d7553a9462a1aef7293;hp=b8b359e9de241a01bcbcbcf3d836c9da033ac235;hpb=e5900ffc67707d6a27ec198ed6c1628e7331d2f5;p=ctsim.git diff --git a/include/kmath.h b/include/kmath.h index b8b359e..2a81454 100644 --- a/include/kmath.h +++ b/include/kmath.h @@ -2,8 +2,11 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: kmath.h,v 1.6 2000/05/02 20:00:25 kevin Exp $ +** $Id: kmath.h,v 1.7 2000/05/04 18:16:34 kevin Exp $ ** $Log: kmath.h,v $ +** Revision 1.7 2000/05/04 18:16:34 kevin +** renamed filter definitions +** ** Revision 1.6 2000/05/02 20:00:25 kevin ** *** empty log message *** ** @@ -166,37 +169,45 @@ typedef struct matrix_st *MTXP; ))))) */ +/* clip.c */ +int clip_rect(double *x1, double *y1, double *x2, double *y2, const double rect[4]); +int clip_segment(double *x1, double *y1, double *x2, double *y2, const double u, const double v); +int clip_sector(double *x1, double *y1, double *x2, double *y2, const double u, const double v); +int clip_circle(double *x1, double *y1, double *x2, double *y2, const double cx, const double cy, const double radius, double t1, double t2); +int clip_triangle(double *x1, double *y1, double *x2, double *y2, const double u, const double v, const int clip_xaxis); + +/* lnearest.c */ +long int lnearest(double x); + /* minmax.c */ double fmax(const double a, const double b); void minmax_dvector(const double array[], const int pts, double *xmin, double *xmax); -/* cliprect.c */ -int cliprect(double *x1, double *y1, double *x2, double *y2, const double rect[4]); -/* lnearest.c */ -long int lnearest(double x); + /* mtx_disp.c */ void mtx_show(const MTX *mtx); void mtx_prt(const MTX *mtx, FILE *fp); int mtx_prt_elem(const MTX *mtx, FILE *fp, unsigned int x, unsigned int y, unsigned int z); + /* mtx_elem.c */ int mtx_get_elem(const MTX *mtx, MTX_ELEM_VAL *me, const int x, const int y, const int z); int mtx_put_elem(MTX *mtx, const MTX_ELEM_VAL *me, unsigned int x, unsigned int y, unsigned int z); + /* mtx_inp.c */ int mtx_inp_elem(const char *prompt, MTX_ELEM_VAL *mev, const int dtype); + /* mtx_main.c */ MTX *mtx_init(const unsigned int order, const unsigned int elem_type, const unsigned int nx, const unsigned int ny, const unsigned int nz); MTX *mtx_clr(MTX *mtx); int mtx_free(MTX *mtx); int mtx_elem_size(const int dt); int mtx_check(const MTX *mtx, const char *func_name); + /* norm_ang.c */ double norm_ang(double theta); + /* simpson.c */ double simpson(const double xmin, const double xmax, const double *y, const int np); -/* clip.c */ -int clipsegment(double *x1, double *y1, double *x2, double *y2, const double u, const double v); -int clipsector(double *x1, double *y1, double *x2, double *y2, const double u, const double v); -int clipcircle(double *x1, double *y1, double *x2, double *y2, const double cx, const double cy, const double radius, double t1, double t2); -int cliptriangle(double *x1, double *y1, double *x2, double *y2, const double u, const double v, const int clip_xaxis); + /* xform.c */ void indent_mtx2(GRFMTX_2D m); void xlat_mtx2(GRFMTX_2D m, const double x, const double y); @@ -204,5 +215,11 @@ void scale_mtx2(GRFMTX_2D m, const double sx, const double sy); void rot_mtx2(GRFMTX_2D m, const double theta); void mult_mtx2(GRFMTX_2D m1, GRFMTX_2D m2, GRFMTX_2D result); void xform_mtx2(GRFMTX_2D const m, double *x, double *y); +void rotate2d(double x[], double y[], int pts, double angle); +void xlat2d(double x[], double y[], int pts, double xoffset, double yoffset); +void scale2d(double x[], double y[], int pts, double xfact, double yfact); + + + #endif