1 /* $Id: viewer.h,v 1.42 1997/03/01 16:00:14 bsmith Exp balay $ */ 2 /* 3 Viewers are objects where other objects can be looked at or stored. 4 */ 5 6 #if !defined(__VIEWER_PACKAGE) 7 #define __VIEWER_PACKAGE 8 9 typedef struct _p_Viewer* Viewer; 10 11 /* 12 petsc.h must be included AFTER the definition of Viewer for ADIC to 13 process correctly. 14 */ 15 #include "petsc.h" 16 17 #define VIEWER_COOKIE PETSC_COOKIE+1 18 typedef enum { MATLAB_VIEWER,ASCII_FILE_VIEWER, ASCII_FILES_VIEWER, 19 BINARY_FILE_VIEWER, STRING_VIEWER, DRAW_VIEWER} ViewerType; 20 21 extern int ViewerFileOpenASCII(MPI_Comm,char*,Viewer *); 22 typedef enum { BINARY_RDONLY, BINARY_WRONLY, BINARY_CREATE} ViewerBinaryType; 23 extern int ViewerFileOpenBinary(MPI_Comm,char*,ViewerBinaryType,Viewer *); 24 extern int ViewerMatlabOpen(MPI_Comm,char*,int,Viewer *); 25 extern int ViewerStringOpen(MPI_Comm,char *,int, Viewer *); 26 extern int ViewerDrawOpenX(MPI_Comm,char *,char *,int,int,int,int,Viewer*); 27 extern int ViewerDrawOpenVRML(MPI_Comm,char *,char *,Viewer*); 28 29 extern int ViewerGetType(Viewer,ViewerType*); 30 extern int ViewerDestroy(Viewer); 31 32 extern int ViewerASCIIGetPointer(Viewer,FILE**); 33 extern int ViewerBinaryGetDescriptor(Viewer,int*); 34 extern int ViewerBinaryGetInfoPointer(Viewer,FILE **); 35 36 #define VIEWER_FORMAT_ASCII_DEFAULT 0 37 #define VIEWER_FORMAT_ASCII_MATLAB 1 38 #define VIEWER_FORMAT_ASCII_IMPL 2 39 #define VIEWER_FORMAT_ASCII_INFO 3 40 #define VIEWER_FORMAT_ASCII_INFO_LONG 4 41 #define VIEWER_FORMAT_ASCII_COMMON 5 42 #define VIEWER_FORMAT_BINARY_DEFAULT 0 43 #define VIEWER_FORMAT_BINARY_NATIVE 1 44 #define VIEWER_FORMAT_DRAW_BASIC 0 45 #define VIEWER_FORMAT_DRAW_LG 1 46 #define VIEWER_FORMAT_DRAW_CONTOUR 2 47 48 extern int ViewerSetFormat(Viewer,int,char *); 49 extern int ViewerPushFormat(Viewer,int,char *); 50 extern int ViewerPopFormat(Viewer); 51 extern int ViewerGetFormat(Viewer,int*); 52 53 extern int ViewerFlush(Viewer); 54 extern int ViewerStringSPrintf(Viewer,char *,...); 55 56 extern Viewer VIEWER_STDOUT_SELF; 57 extern Viewer VIEWER_STDERR_SELF; 58 extern Viewer VIEWER_STDOUT_WORLD; 59 extern Viewer VIEWER_STDERR_WORLD; 60 extern Viewer VIEWER_DRAWX_WORLD_PRIVATE_0; 61 extern Viewer VIEWER_DRAWX_WORLD_PRIVATE_1; 62 extern Viewer VIEWER_DRAWX_WORLD_PRIVATE_2; 63 extern Viewer VIEWER_DRAWX_SELF_PRIVATE; 64 extern Viewer VIEWER_MATLAB_WORLD_PRIVATE; 65 extern Viewer VIEWER_MATLAB_SELF_PRIVATE; /* not yet used */ 66 67 extern int ViewerInitializeDrawXWorld_Private_0(); 68 extern int ViewerInitializeDrawXWorld_Private_1(); 69 extern int ViewerInitializeDrawXWorld_Private_2(); 70 extern int ViewerInitializeDrawXSelf_Private(); 71 extern int ViewerInitializeMatlabWorld_Private(); 72 extern Viewer VIEWER_DRAWX_(MPI_Comm); 73 74 #define VIEWER_DRAWX_WORLD_0 \ 75 (ViewerInitializeDrawXWorld_Private_0(),VIEWER_DRAWX_WORLD_PRIVATE_0) 76 #define VIEWER_DRAWX_WORLD_1 \ 77 (ViewerInitializeDrawXWorld_Private_1(),VIEWER_DRAWX_WORLD_PRIVATE_1) 78 #define VIEWER_DRAWX_WORLD_2 \ 79 (ViewerInitializeDrawXWorld_Private_2(),VIEWER_DRAWX_WORLD_PRIVATE_2) 80 81 #define VIEWER_DRAWX_SELF \ 82 (ViewerInitializeDrawXSelf_Private(),VIEWER_DRAWX_SELF_PRIVATE) 83 #define VIEWER_DRAWX_WORLD VIEWER_DRAWX_WORLD_0 84 #define VIEWER_MATLAB_WORLD \ 85 (ViewerInitializeMatlabWorld_Private(),VIEWER_MATLAB_WORLD_PRIVATE) 86 87 #endif 88