r87: Upgraded from MPI to MPI++
[ctsim.git] / include / ct.h
index 0ad813e2f5f189982d7d3b53ca98e8077f3080f7..d43353de489df62088cc859d477eb50d5846c714 100644 (file)
-/*---------------------------------------------------------------------*/\r
-/*                 HEADER FILE FOR TOMOGRAPY SYSTEM                   */\r
-/*---------------------------------------------------------------------*/\r
-\r
-#ifndef CT_H\r
-#define CT_H\r
-\r
-#ifdef HAVE_CONFIG_H\r
-#include <config.h>\r
-#endif\r
-#ifdef HAVE_PNG\r
-#include "png.h"\r
-#endif\r
-#ifdef HAVE_STDIO_H\r
-#include <stdio.h>\r
-#endif\r
-#ifdef HAVE_STRING_H\r
-#include <string.h>\r
-#endif\r
-#ifdef HAVE_STDDEF_H\r
-#include <stddef.h>\r
-#endif\r
-#include <stdlib.h>\r
-#ifdef HAVE_STDARG_H\r
-#include <stdarg.h>\r
-#endif\r
-#ifdef  HAVE_SYS_TYPES_H\r
-#include <sys/types.h>\r
-#endif\r
-#ifdef HAVE_SYS_STAT_H\r
-#include <sys/stat.h>\r
-#endif\r
-#ifdef HAVE_CTYPE_H\r
-#include <ctype.h>\r
-#endif\r
-#ifdef HAVE_MATH_H\r
-#include <math.h>\r
-#endif\r
-#ifdef HAVE_SYS_FCNTL_H\r
-#include <sys/fcntl.h>\r
-#endif\r
-#ifdef HAVE_FCNTL_H\r
-#include <fcntl.h>\r
-#endif\r
-#if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)\r
-#include <getopt.h>\r
-#endif\r
-#ifdef HAVE_UNISTD_H\r
-#include <unistd.h>\r
-#endif\r
-#ifdef HAVE_SETJMP_H\r
-#include <setjmp.h>\r
-#endif\r
-\r
-#ifdef MPI_CT\r
-#include "mpi.h"\r
-#endif\r
-\r
-#include "kstddef.h"\r
-#include "kmath.h"\r
-#include "sgp.h"\r
-#include "sdf.h"\r
-#include "ir.h"\r
-#include "getargs.h"\r
-#include "keyboard.h"\r
-#include "cio.h"\r
-#include "ezplot.h"\r
-\r
-#ifndef basename\r
-extern char *basename (__const char *__filename);\r
-#endif\r
-\r
-\r
-#endif\r
-\r
+/*****************************************************************************
+**  This is part of the CTSim program
+**  Copyright (C) 1983-2000 Kevin Rosenberg
+**
+**  $Id: ct.h,v 1.11 2000/06/07 10:12:09 kevin Exp $
+**  $Log: ct.h,v $
+**  Revision 1.11  2000/06/07 10:12:09  kevin
+**  Upgraded from MPI to MPI++
+**
+**  Revision 1.10  2000/06/07 07:43:39  kevin
+**  *** empty log message ***
+**
+**  Revision 1.9  2000/06/07 03:49:54  kevin
+**  *** empty log message ***
+**
+**  Revision 1.8  2000/06/07 02:30:27  kevin
+**  Added C++ image files
+**
+**  Revision 1.7  2000/06/07 00:59:38  kevin
+**  added imagefiles
+**
+**  Revision 1.6  2000/05/24 22:48:17  kevin
+**  First functional version of SDF library for X-window
+**
+**  Revision 1.5  2000/05/11 01:04:44  kevin
+**  Added Microsoft Windows compatibility
+**
+**  Revision 1.4  2000/05/03 19:51:41  kevin
+**  function renaming for phantoms and phantom elements
+**
+**  Revision 1.3  2000/04/30 19:17:35  kevin
+**  Set up include files for conditional SGP
+**
+**  Revision 1.2  2000/04/28 14:14:16  kevin
+**  *** empty log message ***
+**
+**
+**  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
+**  published by the Free Software Foundation.
+**
+**  This program is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+**  GNU General Public License for more details.
+**
+**  You should have received a copy of the GNU General Public License
+**  along with this program; if not, write to the Free Software
+**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+******************************************************************************/
+/*---------------------------------------------------------------------*/
+/*                 HEADER FILE FOR TOMOGRAPY SYSTEM                   */
+/*---------------------------------------------------------------------*/
+
+#ifndef CT_H
+#define CT_H
+
+#ifdef _WIN32
+  typedef long off_t;
+  #define HAVE_STRING_H 1
+  #include <fcntl.h>
+  #define snprintf _snprintf
+  #define vsnprintf _vsnprintf
+  #define strcasecmp stricmp
+  #define strncasecmp strnicmp
+#endif
+
+#ifdef HAVE_CONFIG_H
+  #include <config.h>
+#endif
+#ifdef HAVE_PNG
+  #include "png.h"
+#endif
+#ifdef HAVE_G2_H
+  #ifdef __cplusplus
+  extern "C" { 
+    #include "g2.h" 
+  }
+  #else
+  #include "g2.h"
+  #endif
+  #ifdef HAVE_X11
+    #ifdef __cplusplus
+      extern "C" {
+        #include "g2_X11.h"
+      }
+    #else
+        #include "g2_X11.h"
+    #endif
+  #endif
+#endif
+#ifdef HAVE_STDIO_H
+#include <stdio.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STDARG_H
+#include <stdarg.h>
+#endif
+#ifdef  HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
+#include <sys/fcntl.h>
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
+#include <getopt.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SETJMP_H
+#include <setjmp.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>          /* for htonl on FreeBSD */
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>         /* for htonl on Linux/Solaris */
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>           /* for htonl on Solaris */
+#endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>             /* Standard ints on Linux */
+#endif
+
+#ifdef HAVE_MPI
+#include "mpi++.h"
+#endif
+
+#include "kstddef.h"
+#include "kmath.h"
+#include "keyboard.h"
+#include "cio.h"
+
+#ifdef HAVE_SGP
+  #include "ezplot.h"
+  #include "sgp.h"
+#endif
+
+#ifdef __cplusplus
+  #include <iostream>
+  #include <string>
+
+  using namespace std;
+
+  #include "array2d.h"
+  #include "imagefile.h"
+#endif
+
+#include "ir.h"
+
+#endif
+