Actual source code: vtkvimpl.h

petsc-3.11.3 2019-06-26
Report Typos and Errors
  1: #if !defined(_VTKVIMPL_H)
  2: #define _VTKVIMPL_H

  4:  #include <petsc/private/viewerimpl.h>

  6: typedef struct _n_PetscViewerVTKObjectLink *PetscViewerVTKObjectLink;
  7: struct _n_PetscViewerVTKObjectLink {
  8:   PetscViewerVTKFieldType  ft;
  9:   PetscObject              vec;
 10:   PetscViewerVTKObjectLink next;
 11: };

 13: typedef struct {
 14:   char                     *filename;
 15:   PetscFileMode            btype;
 16:   PetscObject              dm;
 17:   PetscViewerVTKObjectLink link;
 18:   PetscErrorCode (*write)(PetscObject,PetscViewer);
 19: } PetscViewer_VTK;

 21: PETSC_EXTERN PetscErrorCode PetscViewerVTKFWrite(PetscViewer,FILE*,const void*,PetscInt,MPI_Datatype);

 23: #if defined(PETSC_HAVE_STDINT_H) /* The VTK format requires a 32-bit integer */
 24: typedef int32_t PetscVTKInt;
 25: #else                            /* Hope int is 32 bits */
 26: typedef int PetscVTKInt;
 27: #endif
 28: typedef unsigned char PetscVTKType;

 30: #define PETSC_VTK_INT_MAX  2147483647
 31: #define PETSC_VTK_INT_MIN -2147483647
 32: #if defined(PETSC_USE_64BIT_INDICES)
 33: #  define PetscVTKIntCheck(a)  if ((a) > PETSC_VTK_INT_MAX) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Array too long for 32-bit VTK binary format")
 34: #  define PetscVTKIntCast(a) (PetscVTKInt)(a);PetscVTKIntCheck(a)
 35: #else
 36: #  define PetscVTKIntCheck(a)
 37: #  define PetscVTKIntCast(a) a
 38: #endif

 40: #endif