
NCL Home >
Documentation >
HLUs
High Level Utilities User Guide
The High Level Utilities (HLUs) are a library of tools that provide a consistent programming interface to NCAR Graphics functionality. Some HLUs are independent of the traditional NCAR Graphics libraries of C and Fortran subroutines, while others make calls into the low level libraries. A goal of the HLUs is to free the user from having to understand the implementation details of the low level libraries. Thus, when the low level libraries are invoked by the HLU, the HLU manages the graphics state, properly initializes and orders the calls to the low level routines, and manages all internal work arrays.The HLU interface is distinctly different from the LLU interface. The LLU model is the classic programming paradigm. Subroutine calls with selected arguments are stacked in an order that acheives the desired result. The HLU model is object oriented. Objects are created that have a range of action which is determined by the values assigned to a set of object resources. Thus, the functionality of the HLU program depends both on the set of objects created and the set of values assigned to the object resources.
From this module, you can access the following subjects and information about HLUs.
- Overview of HLU library - some general comments about HLUs.
- HLUs vs. LLUs - why you might choose to use one interface or the other.
- Strategy for learning to use HLUs - an approach to learning the HLU interface.
- ng4ex
description - an important command for accessing HLU example
programs.
- HLU terminology - some object-oriented terms
used in HLU documentation.
- Classes and objects - an
explanation of class/object relationships.
- Composite classes - a
description of composite classes.
- Class hierarchy - a visual
display of all parent/child relationships and composite classes
in hierarchical diagrams.
- View class - for creating graphical objects.
- Workstation class - for output of graphical objects.
- Data class - for passing data arrays to graphical objects.
- Application class - for connecting objects to an application.
- Error class - for logging and reporting application errors.
- Transform class - for selecting coordinate transformations.
- PlotManager class - for controlling multiple transformations and overlays.
- AnnoManager class - for controlling the placement of annotations.
- Other classes - for special purposes.
- Define resources and how
they work
- Three ways to set resources - in the HLU code or in an ASCII file.
- Resource types - functions for setting and getting those types.
- Resource files - for project and application management.
- The HLU Application Programming Interface (API)
- HLU functions - as they relate to the various classes.
- Writing an HLU program - logical steps in creating Fortran or C programs.
- HLU header files - associated with objects to be created.
- How objects are used in programs - the logical function of commonly used objects.
- HLU user environment - needed environment variables for proper installation.
- HLU plot creation sequence - step by step creation of Fortran and C programs.
- Mixing HLUs and LLUs - processes and precautions in merging low level library calls with HLUs.
- HLUs: putting it all together - remembering all the necessary steps.
- Troubleshooting HLUs - common problems which evade error reporting.