next up previous contents
Next: I/O Methods on HMesh3d Up: HMesh3d Previous: Display Methods on HMesh3d

Boundary Display Methods on HMesh3d

 

       

 figure2375

GRAPE(hmesh, "bnd-isoline-disp")()
GRAPE(mesh, "bnd-isoline-select-disp")()

HMESH3D *hmesh

These methods produce an isoline image of a one dimensional FEM function (or of the absolute value of a vector valued function) at the boundary of the HMesh3d-Instance. The method bnd-isoline-select-disp displays only those isolines whose values are stored in the array colorbar->values. This method also supports the texture mode of GRAPE making it possible to use a light model together with the use of colors.

The method works especially efficient if the used mesh supports an explicit boundary traversal. To this end there are flags in the Mesh3d struct (the super-class of HMesh3d) to indicate the currently set traversal mode (access_mode) and the supported traversal modes (access_capability).

  typedef struct mesh3d{
    ...
    MESH_ACCESS_FLAGS  access_mode;
    MESH_ACCESS_FLAGS  access_capability;
  } MESH3D;

It is the user's responsibility to set the flag access_capability and to program the mesh traversal routines (first_element,next_element, etc.) so that the set access capabilities are indeed supported. At the moment there are only two possible access flags for different types of mesh traversal:

  typedef enum {
    mafNone           = 0,
    mafSorted         = 1<<0,
    mafBoundary       = 1<<1
  } MESH_ACCESS_FLAGS;

If the method bnd-isoline-disp can set the flag access_mode to mafBoundary then it will not be checked again if the element is really part of the boundary. Otherwise the method checks each element during the mesh traversal.

Setting or testing the access flags should be done with the methods

  GRAPE(hmesh, "get-access-mode")(flags)
    GENMESH *hmesh
    MESH_ACCESS_FLAGS *flags

  GRAPE(hmesh, "set-access-mode")(flags) 
    GENMESH *hmesh
    MESH_ACCESS_FLAGS flags

   

 figure2399

GRAPE(hmesh, "bnd-vect-disp")()

HMESH3D *hmesh

This method visualizes the data on the boundary of an HMesh3d object by drawing random-distributed arrows. If the dimension of the data is less than 3 then the method draws vectors which are orthogonal on the boundary and whose length indicates the absolute value of the data. If the dimension of the data is greater than 3 a warning is printed and the first 3 coordinates of the data are used for the display; it is always possible to force the use of vectors orthogonal to the boundary by pressing the button "Use Normal Vectors". By pressing the button "Use Second Order" curved arrows are drawn giving a second order approximation for the data.

 figure2408

Description of the rulers:

 figure2414

New rulers:


next up previous contents
Next: I/O Methods on HMesh3d Up: HMesh3d Previous: Display Methods on HMesh3d

SFB 256 Universität Bonn and IAM Universität Freiburg

Copyright © by the Sonderforschungsbereich 256 at the Institut für Angewandte Mathematik, Universität Bonn.