r28: *** empty log message ***
[ctsim.git] / include / kmath.h
index b7cc5feb99a670c751a61a84df56e337af17da53..b8b359e9de241a01bcbcbcf3d836c9da033ac235 100644 (file)
@@ -2,8 +2,17 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: kmath.h,v 1.3 2000/04/28 14:14:16 kevin Exp $
+**  $Id: kmath.h,v 1.6 2000/05/02 20:00:25 kevin Exp $
 **  $Log: kmath.h,v $
+**  Revision 1.6  2000/05/02 20:00:25  kevin
+**  *** empty log message ***
+**
+**  Revision 1.5  2000/05/02 15:31:39  kevin
+**  code cleaning
+**
+**  Revision 1.4  2000/04/30 19:17:35  kevin
+**  Set up include files for conditional INTERACTIVE_GRAPHICS
+**
 **  Revision 1.3  2000/04/28 14:14:16  kevin
 **  *** empty log message ***
 **
 ******************************************************************************/
 /******************************************************************************
  *
- * FILE IDENTIFICATION
- *
- *     File Name:      NUMR.H
- *     Author:         Kevin Rosenberg
- *     Purpose:        Header file containing definitions for numerical app's
+ * PURPOSE
+ *     Header file containing definitions for numerical app's
  *     Date Started:   Nov 84
  *
- * DESCRIPTION
- *
- * MODIFICATION LOG
- *
  *****************************************************************************/
 
 #ifndef _H_kmath
@@ -85,6 +87,9 @@ typedef double   *DMTX_1D;
 typedef DMTX_1D  *DMTX_2D;
 typedef DMTX_2D  *DMTX_3D;
 
+typedef double GRFMTX_2D[3][3];
+typedef double GRFMTX_3D[4][4];
+
 union elem_val_un {    /* holds an element value */
        char      c;
        int       i;
@@ -161,7 +166,11 @@ typedef struct matrix_st *MTXP;
               )))))
 */
 
-
+/* 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 */
@@ -183,5 +192,17 @@ int mtx_check(const MTX *mtx, const char *func_name);
 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);
+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);
 
 #endif