ncl_ngreop man page

NGREOP — reopen an existing NCAR Graphics metafile for appending.


           NCOLRS, NSTART, CTAB)

C-Binding Synopsis

#include <ncarg/ncargC.h>
#include <ncarg/gks.h>

void c_ngsrat(int wkid, int conid, int itype, char *fname,
             int iopt, int *iat, float *rat, int ncolrs,
             int nstart, Gcolr_rep *ctab)



(an input variable of type INTEGER) specifying the workstation identifier  that the reopened metafile will subsequently be known by.  This does not  have to be the same as the worksttion identifier used to create the  original metafile.


(an input variable of type INTEGER) specifying the connection identifier.


(an input variable of type INTEGER) specifying the workstation type.   Currently the only valid value is "1".  This subroutine may be augmented to accommodate PostScript files in the future.


(an input variable of type CHARACTER) specifying the filename of the  metafile being opened for appending.


(an input variable of type INTEGER) specifying the desired action:

             = 0

reestablish the color table only (using the color table in argument CTAB described below).  The attributes of the reopened workstation will be set to default values and may well be out of sync with the current GKS attributes.

             = 1

reestablish the color table and GKS state (the GKS state as supplied in arguments IAT and RAT described below).  The state values will not be flushed to the metafile.

             = 2

reestablish the color table and GKS state and flush the GKS state  values to the metafile.

             = 3

reestablish the color table and flush the current GKS state values to the metafile (not the values in IAT and RAT).  values to the metafile.

If IOPT equals 1 or 2, then IAT and RAT must be supplied, otherwise not.


(an input array of type INTEGER dimensioned for 14) that contains  GKS integer state variables as follows:

IAT( 1) = Clip indicator

IAT( 2) = Line type

IAT( 3) = Polyline color index

IAT( 4) = Marker type

IAT( 5) = Polymarker color index

IAT( 6) = Text font

IAT( 7) = Text precision

IAT( 8) = Text color index

IAT( 9) = Text path

IAT(10) = Text horizontal alignment

IAT(11) = Text vertical alignment

IAT(12) = Fill area interior style

IAT(13) = Fill are style index

IAT(14) = Fill area color index


(an input array of type REAL dimensioned for 7) that contains REAL GKS  attribute settings as follows:

RAT( 1) = Linewidth scale factor

RAT( 2) = Marker scale factor

RAT( 3) = Character expansion factor

RAT( 4) = Character spacing

RAT( 5) = Character height in world coordinates

RAT( 6) = Character up vector, X component in world coordinates

RAT( 7) = Character up vector, Y component in world coordinates


(an input variable of type INTEGER) that specifies the number of colors  in the color table supplied in argument CTAB, described below.   NCOLRS can be 0 .


(an input variable of type INTEGER) that specifies the color index  associated with the first color in the color table CTAB  (all other color indices are filled in in sequence).  For example, if NCOLRS = 3 and NSTART = 4, then the color values defined in CTAB would  be used to define color indices 4, 5, and 6.


(in the FORTRAN version of this routine, a two-dimensional input array of type REAL dimensioned CTAB(3,NCOLRS); in the C version of this routine, a one-dimensional input array of type Gcolr_rep dimensioned ctab[ncolrs]) that specifies a color table used to initialize the reopened metafile. This color table does not necessarily have to agree with the color table in effect when the  original metafile was created.


The most common usage of NGREOP would be in conjunction with usage of NGSRAT and NGMFTC.  NGMFTC would be used to temporarily close a metafile and NGSRAT used to save the state of the GKS primitive attributes at the time of the close.  To reopen the temporarily closed metafile you would call NGREOP with the attribute settings previously saved and a setting of IOPT of 2.  NGMFTC can be used to temporarily close a metafile any time after it has been opened, even in the middle of a picture.

NGREOP only reopens the metafile and does not activate it.  It will be necessary to call GACWK before sending graphics primitives to the reopened metafile.

NGREOP can also be used to reopen a previously created metafile - either created in an independent job step, or in the same job step.


The following sequence:

        CALL NGMFTC(1)
        CALL NGSRAT(2, IAT, RAT)

          ... do stuff

        CALL NGREOP(CALL NGREOP(1, 2, 1, 'gmeta1', 2, IAT, RAT, 
                    NCOLS, 0, CTAB)

would temporarily close the metafile with workstation ID of 1 (in this case a metafile with name "gmeta1") and save the GKS state variables  at the time of the close.  Then the call to NGREOP would reopen the metafile for appending.

Use the ncargex command to see the following relevant example:  pgkex27.


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


NGREOP issues the same messages as those issued by GOPWK.

See Also

Online: ngmftc(3NCARG), ngsrat(3NCARG),

Online URL: