Actual source code: viewa.c
  2: #include <private/viewerimpl.h>  /*I "petscsys.h" I*/  
  6: /*@C
  7:    PetscViewerSetFormat - Sets the format for PetscViewers.
  9:    Logically Collective on PetscViewer
 11:    Input Parameters:
 12: +  viewer - the PetscViewer
 13: -  format - the format
 15:    Level: intermediate
 17:    Notes:
 18:    Available formats include
 19: +    PETSC_VIEWER_DEFAULT - default format
 20: .    PETSC_VIEWER_ASCII_MATLAB - MATLAB format
 21: .    PETSC_VIEWER_ASCII_DENSE - print matrix as dense
 22: .    PETSC_VIEWER_ASCII_IMPL - implementation-specific format
 23:       (which is in many cases the same as the default)
 24: .    PETSC_VIEWER_ASCII_INFO - basic information about object
 25: .    PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
 26:        about object
 27: .    PETSC_VIEWER_ASCII_COMMON - identical output format for
 28:        all objects of a particular type
 29: .    PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
 30:        element number next to each vector entry
 31: .    PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without
 32:        indicating the processor ranges
 33: .    PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file
 34: .    PETSC_VIEWER_NATIVE - store the object to the binary
 35:        file in its native format (for example, dense
 36:        matrices are stored as dense), DMDA vectors are dumped directly to the
 37:        file instead of being first put in the natural ordering
 38: .    PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
 39: .    PETSC_VIEWER_DRAW_LG - views the vector with a line graph
 40: -    PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
 42:    These formats are most often used for viewing matrices and vectors.
 44:    If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer
 45:   where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior
 46:   for that viewer to be used.
 47:  
 48:    Concepts: PetscViewer^setting format
 50: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
 51:           PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen()
 52: @*/
 53: PetscErrorCode  PetscViewerSetFormat(PetscViewer viewer,PetscViewerFormat format)
 54: {
 56:   if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF;
 59:   viewer->format     = format;
 60:   return(0);
 61: }
 65: /*@C
 66:    PetscViewerPushFormat - Sets the format for file PetscViewers.
 68:    Logically Collective on PetscViewer
 70:    Input Parameters:
 71: +  viewer - the PetscViewer
 72: -  format - the format
 74:    Level: intermediate
 76:    Notes:
 77:    Available formats include
 78: +    PETSC_VIEWER_DEFAULT - default format
 79: .    PETSC_VIEWER_ASCII_MATLAB - MATLAB format
 80: .    PETSC_VIEWER_ASCII_IMPL - implementation-specific format
 81:       (which is in many cases the same as the default)
 82: .    PETSC_VIEWER_ASCII_INFO - basic information about object
 83: .    PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
 84:        about object
 85: .    PETSC_VIEWER_ASCII_COMMON - identical output format for
 86:        all objects of a particular type
 87: .    PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
 88:        element number next to each vector entry
 89: .    PETSC_VIEWER_NATIVE - store the object to the binary
 90:        file in its native format (for example, dense
 91:        matrices are stored as dense), for DMDA vectors displays vectors in DMDA ordering, not natural
 92: .    PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
 93: .    PETSC_VIEWER_DRAW_LG - views the vector with a line graph
 94: -    PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
 96:    These formats are most often used for viewing matrices and vectors.
 97:    Currently, the object name is used only in the MATLAB format.
 99:    Concepts: PetscViewer^setting format
101: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
102:           PetscViewerSetFormat(), PetscViewerPopFormat()
103: @*/
104: PetscErrorCode  PetscViewerPushFormat(PetscViewer viewer,PetscViewerFormat format)
105: {
109:   if (viewer->iformat > 9) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Too many pushes");
111:   viewer->formats[viewer->iformat++]  = viewer->format;
112:   viewer->format                      = format;
114:   return(0);
115: }
119: /*@C
120:    PetscViewerPopFormat - Resets the format for file PetscViewers.
122:    Logically Collective on PetscViewer
124:    Input Parameters:
125: .  viewer - the PetscViewer
127:    Level: intermediate
129:    Concepts: PetscViewer^setting format
131: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
132:           PetscViewerSetFormat(), PetscViewerPushFormat()
133: @*/
134: PetscErrorCode  PetscViewerPopFormat(PetscViewer viewer)
135: {
138:   if (viewer->iformat <= 0) return(0);
140:   viewer->format = viewer->formats[--viewer->iformat];
141:   return(0);
142: }
146: PetscErrorCode  PetscViewerGetFormat(PetscViewer viewer,PetscViewerFormat *format)
147: {
149:   *format =  viewer->format;
150:   return(0);
151: }