xref: /petsc/include/petsc/private/glvisviewerimpl.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1 #pragma once
2 
3 #include <petscviewer.h>
4 #include <petscsys.h>
5 
6 struct _n_PetscViewerGLVisVecInfo {
7   char *fec_type; /* the output of FiniteElementCollection::Name() */
8 };
9 typedef struct _n_PetscViewerGLVisVecInfo *PetscViewerGLVisVecInfo;
10 
11 struct _n_PetscViewerGLVisInfo {
12   PetscBool enabled; /* whether or not to visualize data from the process (it works, but it currently misses a public API) */
13   PetscBool init;    /* whether or not the popup window has been initialized (must be done after having sent the data the first time) */
14   PetscInt  size[2]; /* window sizes */
15   PetscReal pause;   /* pause argument */
16   char     *fmt;     /* format */
17 };
18 typedef struct _n_PetscViewerGLVisInfo *PetscViewerGLVisInfo;
19 
20 typedef enum {
21   PETSCVIEWERGLVIS_DISCONNECTED,
22   PETSCVIEWERGLVIS_CONNECTED,
23   PETSCVIEWERGLVIS_DISABLED
24 } PetscViewerGLVisStatus;
25 
26 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisPause_Internal(PetscViewer);
27 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisSetDM_Internal(PetscViewer, PetscObject);
28 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetDM_Internal(PetscViewer, PetscObject *);
29 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisInitWindow_Internal(PetscViewer, PetscBool, PetscInt, const char *);
30 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetStatus_Internal(PetscViewer, PetscViewerGLVisStatus *);
31 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetType_Internal(PetscViewer, PetscViewerGLVisType *);
32 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetWindow_Internal(PetscViewer, PetscInt, PetscViewer *);
33 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisRestoreWindow_Internal(PetscViewer, PetscInt, PetscViewer *);
34 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetFields_Internal(PetscViewer, PetscInt *, const char **[], PetscInt *[], PetscErrorCode (**)(PetscObject, PetscInt, PetscObject[], void *), PetscObject *[], void **);
35 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisGetDMWindow_Internal(PetscViewer, PetscViewer *);
36 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscViewerGLVisRestoreDMWindow_Internal(PetscViewer, PetscViewer *);
37 
38 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscGLVisCollectiveBegin(MPI_Comm, PetscViewer *);
39 PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscGLVisCollectiveEnd(MPI_Comm, PetscViewer *);
40