r164: *** empty log message ***
[ctsim.git] / include / ctsupport.h
index 349aaf5db270a704d64d8aac7c9cfc483953a5bc..5558150baaa25674f6d85079964cb1b770f7e008 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsupport.h,v 1.2 2000/06/19 19:04:05 kevin Exp $
+**  $Id: ctsupport.h,v 1.6 2000/07/29 19:50:08 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
@@ -149,10 +149,13 @@ typedef unsigned char kuint8;
 #endif
 
 
-/* filefuncs.cpp */
-bool file_exists(const char* fname);
-const char* fileBasename(const char* filename);
-FILE *sys_fopen(const char *filename, const char *mode, const char *progname);
+inline const char* 
+fileBasename (const char* const filename)
+{
+  const char* p = strrchr (filename, '/');
+  return (p ? p + 1 : filename);
+}
+
 
 /* strfuncs.cpp */
 char* str_skip_head(const char* str, const char* const charlist);
@@ -245,49 +248,29 @@ inline void minmax_array (const T* array, const int n, T& min, T& max)
 //////////////////////////////////////////////////////////////
 
 // clip.cpp 
-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);
+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);
 
-// norm_ang.cpp 
-double norm_ang (double theta);
 
 // xform.cpp 
-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 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);
-
-// simpson.cpp
+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 (const GRFMTX_2D m1, const GRFMTX_2D m2, GRFMTX_2D result);
+void xform_mtx2 (const GRFMTX_2D 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);
+
+// mathfuncs.cpp
+double normalizeAngle (double theta);
 double integrateSimpson (const double xmin, const double xmax, const double *y, const int np);
 
 
-// Console I/O Section
-
-#define C_BLACK             0                  /* color codes */
-#define C_BLUE       1
-#define C_GREEN             2
-#define C_CYAN       3
-#define C_RED       4
-#define C_MAGENTA    5
-#define C_BROWN      6
-#define C_WHITE      7
-#define C_GREY       8
-#define C_LTBLUE     9
-#define C_LTGREEN   10
-#define C_LTCYAN    11
-#define C_LTRED     12
-#define C_LTMAGENTA 13
-#define C_YELLOW    14
-#define C_LTWHITE   15
-
 /*----------------------------------------------------------------------*/
 
 /* screen character codes */