File libluminate/geomview.c

RCS Header

This file has the Geomview interface, including the PETSc vector gather operations to bring everything to CPU 0.


Included Files


Preprocessor definitions

#define PNG_NO_MMX_CODE 1

#define ORBIT2 1

#define IMLIB2_EXISTS 1

#define DPRINTF( fmt, args... )

#define __FUNCT__ "GeomviewBegin"

#define __FUNCT__ "GeomviewEnd"

#define GEOMVIEW_SET_INT( j, x )

#define GEOMVIEW_SET_FLOAT( j, x )

#define __FUNCT__ "GeomviewDisplayTriangulation"


Global Function GeomviewBegin()

Spawn a new geomview process. Most of this was shamelessly ripped from Ken Brakke's Surface Evolver.

int GeomviewBegin ( MPI_Comm comm, IDisplay* newdisp )

int GeomviewBegin
Returns 0 or an error code.
MPI_Comm comm
MPI communicator for rank information, if NULL it uses PETSC_COMM_WORLD.
IDisplay* newdisp
Pointer in which to put a new IDisplay object.

Global Function GeomviewDisplayTriangulation()

Pipe the current triangulation to Geomview for display. Much of this is based on Ken Brakke's Surface Evolver.

int GeomviewDisplayTriangulation ( MPI_Comm comm, ISurface Surf, IDisplay Disp, PetscScalar* minmax, char* name, PetscTruth transparent )

int GeomviewDisplayTriangulation
Returns 0 or an error code.
MPI_Comm comm
MPI communicator for rank information, if NULL it uses PETSC_COMM_WORLD.
ISurface Surf
ISurface object containing triangles to render using Geomview.
IDisplay Disp
IDisplay object whose geomview FILE we're closing.
PetscScalar* minmax
Position of block corners: xmin, xmax, ymin, ymax, zmin, zmax.
char* name
Name to give the Geomview OOGL object which we create.
PetscTruth transparent
Geomview transparency flag.
First, this creates global and local vectors for all of the triangle vertices.
It then gathers (``scatters'') all vertex data to processor zero,
and puts them in an array.
Finally, it sends everything to Geomview,
and cleans up the mess.


Global Function GeomviewEnd()

Exit the current running Geomview process and close its pipe. Based in part on Ken Brakke's Surface Evolver.

int GeomviewEnd ( MPI_Comm comm, IDisplay Disp )

int GeomviewEnd
Returns 0 or an error code.
MPI_Comm comm
MPI communicator for rank information, if NULL it uses PETSC_COMM_WORLD.
IDisplay Disp
IDisplay object whose geomview FILE we're closing.