PGPLOT changes in Version 5.0.2

This version implements fill-area styles 3 and 4 (hatching and cross-hatching). This affects polygons drawn with PGPOLY, PGCIRC, and PGRECT. Hatching is selected by CALL PGSFS(3), and cross-hatching is selected by CALL PGSFS(4); see also PGQFS. There is a new user-callable routine (PGSHS) to control the angle and spacing of hatch lines, and a corresponding new inquiry routine (PGQHS). There is also one new internal routine (PGHTCH). Drivers have been modified so that they all interpret self-intersecting polygons the same way: a point is inside the polygon if an infinite ray with the point as origin crosses an odd number of polygon edges (``EvenOddRule'' in X-window terminology). Example program PGDEMO1 has been revised to show the new fill-area styles.

Routine PGERRB has acquired new options that allow symmetric, two-sided error bars to be drawn with one call instead of two.

There are two new drivers, LXDRIV, to create a LaTeX picture environment (this is only useful for very simple plots), and HGDRIV, to create a plot in HPGL2 format. The PostScript driver has been updated to record a correct bounding box for each page, and optionally include comments describing text strings. Note that the bounding-box is now written at the end of the file, i.e., after PGPLOT has figured out what it should be. Some programs that import PostScript require the bounding-box in the file header. The script pgplot/pscaps.sh can be used to move the bounding-box information into the header.

There are four bug-fixes: (1) in routine PGSUBP which was not setting the viewport correctly; (2) in routine PGCONL (actually PGCL) which was writing contour labels at the wrong angle; (3) in routine GRPARS which was incorrectly attempting to overwrite the supplied device spec when doing logical-name translation [VMS only]; (4) in routine GRFA which would sometimes incorrectly fill a re-entrant polygon.

Support is added for the FreeBSD operating system and for PCs running MS-DOS with Salford Software Fortran (pgplot/sys_salford) or Microsoft PowerStation Fortran (pgplot/sys_msdos).

All the UNIX configuration files have been modified to add a CFLAGD parameter that controls linking of C programs that call PGPLOT.


pgplot
aaaread.me
Updated for version 5.0.2.
ver500.txt, ver501.txt
Earlier release notes (renamed and reformatted).
ver502.txt
Release notes for this release (this file).
copyright.notice
Updated.
drivers.list
Updated for new drivers.
install.txt
Updated.
makemake
Add PGHTCH, PGSHS, PGQHS to routine list; remove GRSFS. Modify to avoid use of shell functions that are not supported by some old versions of the Bourne shell.
pscaps.sh
(New file.) Script to modify a PostScript file by moving the BoundingBox comment from trailer to header. This will convert a single-page PGPLOT PostScript file into valid Encapsulated PostScript.
pgplot/cpg
cpgplot.doc
Added further instructions on linking C and Fortran.
libgcc_path.sh
A new script that tries to generate the correct linking commands for use with mixed Fortran and gcc.
pgplot/drivers
ccdriv.f, ladriv.f, lndriv.f
Remove backslashes and PDP-11 octal constants from code to improve portability (but these drivers are probably still specific to VMS).
epdriv.f
Remove some VMS dependencies; has not been tested under UNIX, however.
hgdriv.f
(New file.) Driver for HPGL2 graphics, from Colin Lonsdale.
ljdriv.f
(Bug fix.) Add a SAVE statement for non-static compilers.
lxdriv.f
(New file.) Driver for LaTeX picture environment, from Grant McIntosh.
pgxwin_server.c
Add omitted include: X11/Xos.h.
psdriv.f
(New feature.) If the supplied file name is '-', the driver send the PostScript output to standard output. (Note: this will only work when Fortran unit 6 is connected to standard output.) A correct PageBoundingBox comment is now included for each page. Plotted text can be included in the PostScript file as comments if environment variable PGPLOT_PS_VERBOSE_TEXT is set.
tfdriv.f
Improved optimization [David R. Chang]. Note that this driver is for VMS systems where the regular Tektronix driver (ttdriv.f) can send output to a terminal but cannot create a disk file.
xwdriv.c
Change polygon fill rule from ``WindingRule'' to ``EvenOddRule'' to match other drivers. Suppress message about starting server (when it starts successfully). Update comments.
pgplot/examples
pgdemo1.f
Revise example 6 to show all four fill-area styles, and example 7 to use the new options in PGERRB.
pgdemo2.f
Revise to exercise hatching styles.
pgdemo3.f
Change internal subroutine name PLOT to avoid possible conflicts with other libraries.
pgdemo12.f
Call PGBEG as a function rather than a subroutine.
pgplot/pgdisp
initlgwin.c
Change polygon fill rule from ``WindingRule'' to ``EvenOddRule'' to match other drivers.
pgplot/src
grfa.f
(Bug fix.) Fixed bug in filling re-entrant polygons (thanks to Andrew Carman).
grlin3.f
Prevent a possible `sqrt of negative number' error.
gropen.f
(Bug fix.) Avoid a zero-length string problem. Explicitly initialize variable to zero.
grpars.f
(Bug fix.) No longer overwrites supplied string with logical name translation; avoid a zero-length string problem.
grpckg1.inc
Remove unused variable GRFASL.
grsfs.f
(File deleted.)
grtext.f
Now sends text as a comment to output when requested.
pgbeg.f
Initialize hatching attributes. Explicitly initialize variable to zero.
pgbox.f
(Aesthetic improvement.) Move labels outwards slightly when inverted ticks are requested; adjust position of `MV' y labels.
pgcl.f (support routine for pgconl)
(Bug fix.) The contour labels were written at the wrong angle when x and y scales differed (thanks to Gerry Haines for discovering this); also labels could be drawn outside the window.
pgerrb.f
(Enhancement.) Add options 5 and 6 for drawing symmetric two-sided error-bars.
pghtch.f
(New file.) Routine for hatching (shading) polygon.
pgmtxt.f
(Bug fix.) The routine could try to use a zero-length character substring, which is not allowed by the Fortran-77 standard.
pgplot.inc
Add hatching attributes.
pgpoly.f
Add support for hatching.
pgqfs.f
Add file styles 3 and 4 (hatching).
pgqinf.f
Change version to 5.0.2. Avoid some zero-length string problems.
pgqhs.f
(New file.) Routine to inquire hatching style.
pgrect.f
Add support for hatching.
pgsave.f
Save hatching style.
pgsfs.f
Add file styles 3 and 4 (hatching).
pgshs.f
(New file.) Routine to set hatching style.
pgsubp.f
(Bug fix.) Rescale viewport when panel size changes.
pgplot/sys_dos
*.f
Split grdos.for into separate files for easier maintenance.
pgplot/sys_freebsd
aaaread.me, f77_cc.conf, iand.c
(New directory.) Support for FreeBSD operating system (Jean-Marc Zucconi).
pgplot/sys_hp
aaaread.me
(New file.) Add notes about optimization.
fort77_gcc.conf
(New file.) Configuration file for use with gcc compiler (not tested).
pgplot/sys_msdos
aaaread.me, etc.
(New directory.) Support files for MS Power Station 32-bit Fortran (from C. T. Dum).
pgplot/sys_osf1
aaaread.me
(Modified.) Add note about shareable library.
f77_cc_shared.conf
(New file.) For making a shareable library.
pgplot/sys_salford
aaaread.me, *.f
(New directory.) New system-specific files for MS-DOS with Salford Software Fortran (from Michael Michelson).
pgplot/sys_sun4
*.conf
Change -pic to -PIC (a large global offset table is needed if many drivers are selected).
pgplot/sys_ultrix
f77_cc.conf
Add "-lX11" in LIBS and "-Olimit 600" (for optimizing complex routines) in CFLAGC (Jaiyong Lee).
pgplot/sys_vms
build.com
Add PGSHS, PGQHS to transfer vector. Do not attempt to link with UIS on an AXP machine.

Tim Pearson, California Institute of Technology, tjp·astro.caltech.edu
Copyright © 1995 California Institute of Technology