Provided by: libncarg-dev_6.4.0-9_amd64 bug

NAME

       ISOSRF - Draws an isosurface.

SYNOPSIS

       CALL ISOSRF (F,LU,MU,LV,MV,MW,EYE,MUVWP2,SLAB,FISO,IFLAG)

C-BINDING SYNOPSIS

       #include <ncarg/ncargC.h>

       void c_isosrf (float *f, int lu, int mu, int lv, int mv,
       int mw, float eye[3], int muvwp2, float *slab, float fiso,
       int iflag)

UTILITY

       This routine is part of the Isosurface utility in NCAR Graphics.  To see the overview man page for this
       utility, type "man isosurface".

DESCRIPTION

       F           (an input array of type REAL, dimensioned LU x LV x m, where "m" is greater than or equal to
                   MW) is a three-dimensional array of data defining the function f(u,v,w).  Only the portion of
                   the array consisting of elements F(IU,IV,IW), for IU = 1 to MU, IV = 1 to MV, and IW = 1 to
                   MW, is to be used. This may or may not be the entire array.  The data are considered to lie
                   in a box in 3-space with opposite corners (in the UVW coordinate system) (1.,1.,1.)  and
                   (REAL(MU),REAL(MV),REAL(MW)). The element F(IU,IV,IW) is considered to be the value of the
                   function f at the point (REAL(IU),REAL(IV),REAL(IW)).

       LU          (an input expression of type INTEGER) is the first dimension of the array F.

       MU          (an input expression of type INTEGER) defines the range to be used for the first subscript of
                   the array F.

       LV          (an input expression of type INTEGER) is the second dimension of the array F.

       MV          (an input expression of type INTEGER) defines the range to be used for the second subscript
                   of the array F.

       MW          (an input expression of type INTEGER) defines the range to be used for the third subscript of
                   the array F.

       EYE         (an input array of type REAL, dimensioned 3) is the position of the eye in the UVW coordinate
                   system. The eye position, at (EYE(1),EYE(2),EYE(3)), must be outside the box containing the
                   data. The point being looked at is at the center of the data box and the projection plane is
                   perpendicular to the line of sight. While gaining experience with the routine, a good choice
                   for EYE is (5.*REAL(MU),3.5*REAL(MV),2.*REAL(MW)).

       MUVWP2      (an input expression of type INTEGER) has the value MAX(MU,MV,MW)+2.

       SLAB        (a scratch array of type REAL, dimensioned at least MUVWP2 x MUVWP2) is a workspace for
                   ISOSRF.

       FISO        (an input expression of type REAL) is the value of fiso in the equation f(u,v,w)=fiso, which
                   defines the isosurface to be drawn.

       IFLAG       (an input expression of type INTEGER) serves two purposes:

                   •   The absolute value of IFLAG determines which type of lines are drawn to approximate the
                       isosurface. Three types of lines are considered: lines of constant U, lines of constant
                       V, and lines of constant W. The following table lists the types of lines drawn for
                       various values of ABS(IFLAG):

                       ABS(IFLAG)   Constant U   Constant V   Constant W

                           1            no           no          yes
                           2            no          yes           no
                           3            no          yes          yes
                           4           yes           no           no
                           5           yes           no          yes
                           6           yes          yes           no
                           7           yes          yes          yes

                   •   The sign of IFLAG determines what is inside and what is outside the solid bounded by the
                       isosurface and thus which lines are visible and what is done at the boundary of the box
                       containing the data. If IFLAG is positive, values greater than FISO are considered to be
                       inside the solid formed by the isosurface. If IFLAG is negative, values less than FISO
                       are considered to be inside the solid formed by the isosurface. If the algorithm draws a
                       cube, reverse the sign of IFLAG.

C-BINDING DESCRIPTION

       The C-binding argument descriptions are the same as the Fortran argument descriptions, with the following
       exceptions:

       f           t is dimensioned mw by mv by mu

       mu          The third dimension of the array f

       mw          The first dimension of the array f

USAGE

       Transformations can be achieved by adjusting scaling statement functions in ISOSRF, SET3D, and TR32.

       The hidden-line algorithm is not exact, so visibility errors can occur.

       Three-dimensional perspective character labeling of isosurfaces is possible by calling the routine PWRZI.

EXAMPLES

       Use the ncargex command to see the following relevant examples: tisosr, tpwrzi, fisissrf, fispwrzi.

ACCESS

       To use ISOSRF or c_isosrf load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in
       that order.

SEE ALSO

       Online: isosurface, isosurface_params, ezisos, isgeti, isgetr, isseti, issetr, pwrzi, ncarg_cbind

       Hardcopy: NCAR Graphics Fundamentals, UNIX Version

COPYRIGHT

       Copyright (C) 1987-2009
       University Corporation for Atmospheric Research
       The use of this Software is governed by a License Agreement.