A Scientific Graphics Subroutine Library for Micro and Mini - Computers
UGL - GRAPHICS LIBRARY
UGL - GRAPHICS is developed as scientific graphic subroutine library code for Micro and
Mini - Computers at Galaxy Advanced Engineering, Inc. (GAE). The code provides a powerful
scientific graphics capability on your Windows/PC, Alpha/Open VMS, HP/UX, SUN/OS, SGI,
LINUX as well as VAX/VMS computers.
For many years, engineering and scientific applications have been executed on mainframe or midsize
computers. Very large investments have been made in this type of software and they're
supporting utilities. The changing computer environments are moving many of these applications
to the desktop, either with UNIX workstations or more powerful personal computers (PC). UGL
has been developed to be a part of this process and provide an orderly migration path by
providing similar graphics interfaces in both environments. UGL also provides expanded
capabilities, which allow extensions of existing graphics without expensive up front development.
The Universal Graphics Library (UGL) is a high-level FORTRAN scientific graphics library
designed to support applications in engineering, scientific, and business environments. UGL's
integrated routines allow programmers to generate graphics, charts, surfaces, contours and 2- and
3-dimensional designs, including logarithmic axes, polar coordinates, 3-D mesh-and-line plots,
and error-bar charts. Full color features are available as well.
The UGL - GRAPHICS is a high level FORTRAN graphics subroutine library for interactive
or batch data representation application in engineering, scientific, and business environments.
The code is a fully functional stand-alone graphics package and is a Device Independent Graphics
Library for any existing computer and their related operating system and can interface and
supports the most well-known graphics devices in the market. The package comes with all
necessary device drivers. The PC version of the code is compatible with latest version of
Compaq Visual FORTRAN as well as, Microsoft FORTRAN PowerStation Version 1.x and
4.x. and Compaq Visual FORTRAN compiler version 5.x and 6.x. The code can run under
Windows 95/98/2000/NT and any other operating system of Microsoft Windows. We no longer
support any version of Lahey Compiler with our latest version of UGL and presently UGL is at
version 6.5. This version provides OLE capability for porting your graphics output to another
windows application such as your word processing by copying your output to clip board and past
it to your applications. The code can be compiled with other FORTRAN compiler that has
virtual memory capability such as Salford. There also exist VAX/VMS, Alpha/AXP, HP/UX,
SUN/OS, and LINUX. The UGL version 6.5 now supports the gif format output file for
portability to your web pages as well as multi-plot per page.
UGL simulates CA-DISSPLA, PLOTl0, DIGLIB, NASDIG, PLOT88, GKS 0A level (limited
base), NCAR, and CalComp graphics routines for portability purposes. The most common
subset of DISSPLA routines is supported directly. In the UGL/DISSPLA compatibility mode,
most FORTRAN77/90 and 95 programs can be run with only minor modifications related to
different output devices. Approximately 90% DISSPLA calls are currently pressed and
supported by UGL graphics library. UGL is capable of simulating any other calls of DISSPLA
routines if the users do not find them among our existing routines. (Please call us with your
request on your desired routines).
The PC version of the code called UGL/PC brings mainframe capacity and result to your desktop
microcomputer. It includes all of the popular mainframe extension. As a device independent
graphics library for microprocessor, it provides a powerful graphics capability in scientific,
engineering and business application.
The PC version of UGL operating on the window operating system is compatible with Compaq
Visual FORTRAN compiler, a 32-bit compiler, and versions 5.x and 6.x. This compiler with the
associated memory manager, debuggers, and related utilities provide virtually similar capabilities
as are found on the main frames and mid-size computers. MS-DOS memory limitations are
bypassed so that any calculation that could be done on the main frame can be now done on PC at
greatly reduced costs.
The same version of UGL exists for DIGITAL/UNIX workstations and Alpha/NT and Open
VMS. For other platforms and operating system call Galaxy Applied Engineering, Inc. The main
body of UGL is identical on all systems. There are some variations in output devices that are
routinely supported. For example, on UNIX systems, an X-Window driver is normally the
primary interface to the user (with a terminal interface for multi-user systems). On a PC, a
VGA/SVGA driver replaces this interface.
UGL - Graphic's integrated routines allow programmers to generate graphics, chart, surfaces,
contours and 2- and 3-dimensional design, including logarithmic axes, polar coordinate, 3-D
mesh-and-line plots, and error-bar charts. The graphics library may be ordered to work without
the math-coprocessor on request, but it will perform distinguishably slower.
UGL - GRAPHICS includes a set FORTRAN callable routine to aid you in plotting
characters and character strings. The high-level applications include in UGL - GRAPHICS
are: X-Y Graphics, X-Y-Z graphics, Contours, Histograms, Scatter Diagrams, Streamlines,
Vector Graphics 3-D solids, 3-D Surfaces, Cartographic Maps, Map Data Overlays and World
Map plots as well blanking capability plots.
UGL - GRAPHICS was developed to provide a migration path with a CA-DISSPLA, GKS,
PLOT10, CalComp and DIGLIB (from Lawrence Livermore Lab.) graphics interface in the PC
and VAX as well as UNIX environment and provides the same high graphics standards found on
the main frames using the above graphics libraries. The most common subset of CA-DISSPLA
routine (more than 900) and rest of the mentioned graphics libraries are supported directly and
any particular ones may be provided upon request. If the users have an existing code using any
of these graphics library routines within their code do not have to change their calls. The bridge
that are built with UGL - GRAPHICS library will distinguish these routine s and maps its own
routine against the for direct porting of the user code to its new environment supported by UGL -
UGL includes a set of FORTRAN callable routines to aid you in plotting characters and character
strings. It implements an ANSI/ISO standard Graphical Kernel System (GKS) platform; an
ANSI/ISO standard Computer Graphics Metafile (CGM) output format; and applications that
overlay any ANSI/ISO standard GKS, which provides a device language and resolution
independent platform for graphics generation. The high-level applications included in UGL are:
The UGL graphics library is a general-purpose graphics package that can be used to generate
plots for most digital computer based applications. To generate a plot using UGL, the user's
application program calls the appropriate UGL subprograms. These subprograms then cause the
plot to be printed, plotted, or stored as a file image.
- Multiple plots type:
- X-Y Graphics.
- -X-Y-Z Graphics.
- Scatter Diagrams.
- Vector Graphs.
- 2-D and 3-D graphs and plots.
- Calendar charts.
- 3-D Solids.
- 3-D Surfaces.
- Cartographic Maps.
- Map Data Overlays.
- Extensive parameter support and control
- Area blanking control.
- Area fills with fills pattern control.
- Curve and frame thickness control.
- Color support.
- Multiple line style, including user-defined style.
- Spline and polynomial line interpolation.
- Both high and low-resolution world mapping including political boundaries.
- Legend blocks and text blocks.
- Multiple text fonts.
- Generation of plots for word processing packages such as Microsoft word and WordPerfect.
UGL is supplied as a set of re-locatable library files. To generate a plot using UGL, the user's
FORTRAN77/90 and 95 application program calls the appropriate UGL programs. At link time,
the requested routines are collected from the library files and loaded with the user's code. These
subprograms then cause the plot to be generated and displayed, printed, or stored as a file image.
UGL can generate graphics metafiles, which can be saved for later viewing without rerunning the
user program. The appropriate POST processors for these metafiles are supplied. There is
normally one POST for each format. For example, POSTX11 is for X-Windows release 5,
version 11 on UNIX. POSTVGA is for Super VGA (VESA) display on a PC.
UGL routines are callable within your C program on any given computing platform as well.
There are two versions of link procedures. The first is for a pure UGL code, which uses only
calls, found in this manual. The second is a DISSPLA compatibility mode linker. In this mode
many DISSPLA calls are recognized and translated internally to the associated UGL routine. The
additional routines that are processed in this manner are not documented in detail in this manual.
A sample printer queuing batch file is included. When the user tells UGL to send a file to a
printer, UGL makes an operating system call to tell the system to run a special batch procedure. It
is the function of this procedure to know the correct commands to complete this task
UGL permits almost complete host and device independence for user application software. UGL
achieves host independent via strict compatibility with the America National Standard Institute
(ANSI) standard X3.0-1978, often referred to as FORTRAN 77. This greatly reduces application
code modifications when porting programs. Internally, UGL uses "Z" and extension to avoid
name conflicts with user code. The "Z" is used with routine names and that is used with common
blocks. UGL, with the DISSPLA compatibility option, contains nearly 1000 routines; so name
conflicts with user code can be a real problem. The extensions reduce the number by a factor of
Universal Graphics Library provides instruction strings, which are letter commands that perform
operations on a string from within the string itself. You may use instruction strings with any subroutine that
writes text, such as TXTMSG, PTITLE, or PAKLIN for legends or stories.
Instruction strings are useful for modifying some but not all characters in a string. For example, instruction
strings can produce subscripted characters, superscripted characters, underlining, or mathematical
formulas. A wide variety of actions on a character are possible using this GAE-UGL feature.
Instruction strings are simply an extension of the mixed alphabet concept. If a mixed (or base) alphabet is
referenced as 'ISTRUCTION' then the characters of that alphabet are treated as instructions.
The above content is Copyright © by Galaxy Advanced Engineering, Inc.