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