Actual source code: vtkvimpl.h
petsc-3.11.4 2019-09-28
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