Date: 2025-03-29T05:58:18+00:00

Actual source code: glvisviewerimpl.h

      1: #pragma once

      3: #include <petscviewer.h>
      4: #include <petscsys.h>

      6: struct _n_PetscViewerGLVisVecInfo {
      7:   char *fec_type; /* the output of FiniteElementCollection::Name() */
      8: };
      9: typedef struct _n_PetscViewerGLVisVecInfo *PetscViewerGLVisVecInfo;

     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;

     20: typedef enum {
     21:   PETSCVIEWERGLVIS_DISCONNECTED,
     22:   PETSCVIEWERGLVIS_CONNECTED,
     23:   PETSCVIEWERGLVIS_DISABLED
     24: } PetscViewerGLVisStatus;

     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 *);

     38: PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscGLVisCollectiveBegin(MPI_Comm, PetscViewer *);
     39: PETSC_SINGLE_LIBRARY_INTERN PetscErrorCode PetscGLVisCollectiveEnd(MPI_Comm, PetscViewer *);