Last updated 2004/05/04.

Two libraries are supplied with Hipparchus:

- The Hipparchus Library has functions for:
- Data Conversion and Cell Lists
- Plane Geometry
- Spherical Geometry
- Ellipsoidal Geometry
- Classical Cartographic Projections
- Cell Structures and Local Coordinates
- Spatial Objects and Operators

- The Hipparchus Auxiliary Library has functions for:

*Hipparchus Library* functions are 100% re-entrant. This means that
Hipparchus functionality can be multi-threaded, which in turn means that
Hipparchus-based server applications are scalable for multi-user access
without any restrictions imposed by Hipparchus.

*Hipparchus Library* functions communicate with their host applications
entirely through C or C++ language memory structures. These are defined by
four *Hipparchus Library* C or C++ includable header files:
*hipparch.h*, *hippvrsn.h*, *hipproto.h* and *hippengn.h*.
These headers also define function prototypes, useful macros and manifest
constants.

There are no I/O bindings of any kind: console, file or database. This leaves the application developer entirely free to combine Hipparchus functionality with data from any external source. Having said that, the Hipparchus spatial index used internally provides an excellent basis for a spatial index for external data.

Similarly, there are no bindings with any graphical user interface (GUI).
This again leaves the application developer free to set Hipparchus
functionality into the context of the GUI of his choice. However,
*Hipparchus Library* functions provide the computational means to
transform efficiently between several geographical coordinate systems and the
plane of a display (map), in both directions. (Functions of the *Hipparchus
Auxiliary Library* further transform these planar coordinates to or from
pixel coordinates).

*Hipparchus Library* functions communicate with no operating system
services other than a heap memory manager. Hipparchus function calls for heap
memory management are made via two pass-through functions: *h1_Malloc*
and *h1_Free* (see below). These functions in turn call the C or C++
run-time library functions *malloc* and *free*. As a consequence of
this design, the developer is free to substitute more effective memory
management functions, if required.

To reduce the possibly deleterious effects of repeated allocation and
de-allocation of small blocks of memory, some of the *Hipparchus
Library* functions allocate and de-allocate from a stack-like structure
allocated initially from the system heap. This structure is shareable with
other functions in the application.

*Hipparchus Library* functions are divided into seven sections numbered
1 to 7. The naming convention employs the letter h and one of the numerals 1
to 7 as the first two characters of each function name. For historical
reasons each function has two names: a longer descriptive name and a shorter
six-character name. Long names are translated to short names by the ANSI C
pre-compiler, as prescribed in the supplied header files.

Many of the functions that appear in the listings that follow are primitives used by higher level functions in the same or different section. Although it is unlikely that the developer will need to call any of these primitives directly, they are provided for completeness of description and as an aid in problem analysis.

- h1_AngleAzimuth Convert direction to angular azimuth
- h1_BitflagInquire Inquire bit-flag in integer array
- h1_BitflagReset Reset bit-flag in integer array
- h1_BitflagSet Set bit-flag in integer array
- h1_CellstringBsearch Binary search in a compressed list
- h1_CellstringCount Number of elements in a compressed list
- h1_CellstringUInit Initialize cellstring union loop
- h1_CellstringUNext Get next cellstring union element
- h1_CellstringXInit Initialize cellstring intersection loop
- h1_CellstringXNext Get next cellstring intersection element
- h1_CellstructBsearch Binary search in a list of unsigned items
- h1_CompareCellstring Compare two compressed lists
- h1_CompareInCellstring Compressed list contained in another
- h1_CompressCellstring Compress an ordered list
- h1_DateToDaynumber Encode Gregorian calendar date
- h1_DaynumberToDate Decode Gregorian calendar date
- h1_Dcos3ToLatLong Convert normalized vector to Lat/Long
- h1_DecompressCellstring Decompress a compressed list
- h1_Free Free heap memory
- h1_IntPow10 Evaluate integer power of ten
- h1_LatLongToDcos3 Convert Lat/Long to normalized vector
- h1_Malloc Allocate heap memory
- h1_NormalizeDcos2 Normalize two dimensional vector
- h1_NormalizeDcos3 Normalize three dimensional vector
- h1_NormalizeLatLong Normalize Lat/Long coordinates
- h1_SineCosine Compute Sine and Cosine
- h1_Sort Quick-sort with additional functionality
- h1_SunRightAscension Right Ascension of Sun at the epoch of UT
- h1_UpgradeXY Upgrade XY coordinates
- h1_UpgradeZ Upgrade Z coordinate

Return to Library Section Directory.

- h2_AngleOrder Angle sort-order value
- h2_AreaArcBoundary Process area/perimeter arc boundary leg
- h2_AreaInit Initialize planar area/perimeter calculator
- h2_AreaLineBoundary Process next area/perimeter line boundary leg
- h2_AreaPerimeter Return planar area and perimeter
- h2_DeriveCircle Circle center and radius from three points
- h2_DeriveEllipse Coaxial ellipse parameters from four points
- h2_DividedDifferences Transform a point using DD transformation
- h2_EqualAreaToStereo Equal area to stereographic transformation
- h2_FindTriangle Find triangle in a planar TIN
- h2_Hull Construct planar convex hull
- h2_Intersection Intersection of planar end-point segments
- h2_LineDivide Divide line segment in given ratio
- h2_LineOffset Planar line offset
- h2_MakeTin Construct planar TIN structure
- h2_NadirReceiverAngle Nadir/Receiver maximum angular distance
- h2_PointLine Point position relative to a line
- h2_SetDividedDifferences Set parameters of a DD transformation
- h2_SetOrthogonal2Point Set parameters of an orthogonal transformation
- h2_StereoToEqualArea Stereographic to equal area transformation
- h2_TinZ Z value of a planar TIN
- h2_TestIntersect Test and intersect line segments
- h2_TransformPoint Orthogonal/affine point transformation
- h2_TriInter2Init Initialize double triangular interpolation
- h2_TriInter2Next Next double triangular interpolation value
- h2_TriInterSimple Simple triangular interpolation
- h2_TriangleArea Area of planar triangle

Return to Library Section Directory.

- h3_ArcToHipparchDist Convert arc to square chord distance
- h3_ArcToHipparchDistApprox Approximate arc to square chord distance
- h3_Circumcenter Spherical circumcenter
- h3_ConvexHull Find convex hull of a set of spherical points
- h3_CosineDist Spherical distance, cosine measure
- h3_DirectArc Direct problem (sphere), arc distance
- h3_DirectChord Direct problem (sphere), chord distance
- h3_HboxInit Initialize Hbox parameter array
- h3_HboxTestLine Test line inside Hbox
- h3_HboxTestPoint Test point inside Hbox
- h3_HipparchDist Hipparchus spherical distance
- h3_HipparchDistToArc Square chord to arc distance
- h3_HipparchDistToArcApprox Approximate square chord to arc distance
- h3_HipparchDistToTangentG Gnomonic tangent from Hipparchus distance
- h3_HipparchDistToTangentS Stereographic tangent from Hipparchus distance
- h3_InitConical Initialize conical projection
- h3_InitEqDistCyl Initialize equidistant cylindrical projection
- h3_InitGnomonic Initialize gnomonic projection
- h3_InitMercator Initialize Mercator projection
- h3_InitOrtho Initialize orthographic projection
- h3_InitPerspective Initialize perspective projection
- h3_InitPlatteCarree Initialize platte carree projection
- h3_InitStereo Initialize stereographic projection
- h3_InitWwMercator Initialize World-window Mercator projection
- h3_InitWwView Initialize World-window view projection
- h3_Intersection Intersection of spherical end-point segments
- h3_InverseArc Inverse problem (sphere), arc distance
- h3_InverseChord Inverse problem (sphere), square chord distance
- h3_MapConical Direct conical projection
- h3_MapEqDistCyl Direct equidistant cylindrical projection
- h3_MapGnomonic Direct gnomonic projection
- h3_MapIsoLatitude Direct isometric latitude transformation
- h3_MapMercator Direct Mercator projection
- h3_MapOrtho Direct Orthographic projection
- h3_MapPerspective Direct perspective projection
- h3_MapPlatteCarree Direct platte carree projection
- h3_MapStereo Direct Stereographic projection
- h3_MapWwMercator Direct World-window Mercator projection
- h3_MapWwView Direct World-window view projection
- h3_MaximumLatitude Great circle latitude extremes
- h3_MeridianIntersection Intersection with a meridian
- h3_MidPoint Spherical mid-point
- h3_MidplaneIntersection Intersection with a mid-plane
- h3_OffsetPoint Spherical point from mid-point and offset
- h3_ParallelIntersection Intersection with a parallel of latitude
- h3_PointLineProximity Spherical line segment/point proximity test
- h3_Sector Circular sector arc points
- h3_SphereOffset Spherical axis offset
- h3_SpherePrincipalNormals Meridian and prime vertical plane normals
- h3_TriangleArea Area of a spherical triangle
- h3_UnMapConical Inverse conical projection
- h3_UnMapEqDistCyl Inverse equidistant cylindrical projection
- h3_UnMapGnomonic Inverse gnomonic projection
- h3_UnMapIsoLatitude Inverse isometric latitude transformation
- h3_UnMapMercator Inverse Mercator projection
- h3_UnMapOrtho Inverse Orthographic projection
- h3_UnMapPlatteCarree Inverse platte carree projection
- h3_UnMapStereo Inverse Stereographic projection
- h3_UnMapWwMercator Inverse World-window Mercator projection
- h3_UnMapWwView Inverse World-window view projection

Return to Library Section Directory.

- h4_AdjustRotationRates Adjust orbit rotation rates
- h4_DirectChord Direct problem, square chord distance
- h4_DirectRudoe Direct problem, Rudoe method
- h4_EllipsoidDcos3ToHpsph Ellipsoid (vector) to Hipparchus sphere
- h4_EllipsoidToHpsph Ellipsoid LatLng to Hipparchus sphere
- h4_EllipsoidToRadiusvector Cartesian coordinates from Ellipsoid
- h4_HpsphRadius Hipparchus sphere/ellipsoid local radius
- h4_HpsphScale Hipparchus sphere/ellipsoid local scale
- h4_HpsphToEllipsoid Hipparchus sphere to ellipsoid
- h4_HpsphToEllipsoidDcos3 Hipparchus sphere to ellipsoid (vector)
- h4_InverseChord Inverse problem, square chord distance
- h4_InverseRudoe Inverse problem, Rudoe method
- h4_Kepler2nd Ellipsoid focal segment area
- h4_LatLongArea Latitude/longitude bound ellipsoid area
- h4_MeridianArc Find meridian arc length
- h4_OrbitDirect Direct problem of orbit time/geometry
- h4_OrbitPeriod Find orbit period given semi-major axis
- h4_OrbitPrecession Orbit precession and rotation of the apsides
- h4_OrbitSemiMajor Orbit semi-major axis given period
- h4_PolygonArea Area of ellipsoid polygon
- h4_Radii Minimum, mean and maximum ellipsoid curvature
- h4_RadiusPvMrAz Principal and general ellipsoid curvature
- h4_RadiusvectorToEllipsoid Ellipsoid coordinates from Cartesians
- h4_RadiusvectorToHpsph Hipparchus sphere coordinates from Cartesians
- h4_SatelliteDirection Instantaneous satellite position and direction
- h4_SatelliteLocation Instantaneous global position of a satellite
- h4_ScanlineLocation Nadir and swath limits given time in orbit
- h4_ScanlineLocationExplicit Nadir and swath given explicit location
- h4_SetClassicalOrbit Set Hipparchus orbit from the "classical set"
- h4_SetEllipsoidParameters Set ellipsoid parameters

Return to Library Section Directory.

- h5_InitLambert2 Initialize Lambert conical projection
- h5_MapGaussKrueger Ellipsoid to Gauss-Krueger mapping
- h5_MapIsoLatitude Ellipsoid to sphere, conformal mapping
- h5_MapLambert2 Ellipsoid to Lambert conical mapping
- h5_MapPolarStereo Ellipsoid to Polar Stereographic mapping
- h5_UnMapGaussKrueger Gauss-Krueger to ellipsoid mapping
- h5_UnMapIsoLatitude Sphere to ellipsoid, conformal mapping
- h5_UnMapLambert2 Lambert conical to ellipsoid mapping
- h5_UnMapPolarStereo Polar Stereographic to ellipsoid mapping
- h5_UtmCentralMeridian Central meridian of a UTM zone

Return to Library Section Directory.

- h6_CellArea Spherical area of a cell
- h6_CellIndexEdgeDist Maximum distance of "edge-related" cells
- h6_CellNearFar Minimum and maximum point to cell distances
- h6_CellSearch Home cell of an arbitrary point location
- h6_CellSortInsert Voronoi cell neighbor sort - insert mode
- h6_CellSortWave Voronoi cell neighbor sort - wavefront mode
- h6_Cellstring Compressed list of cells with user test
- h6_CellToHpsph Convert cell to Hipparchus sphere coordinates
- h6_CellVertex Cell vertex
- h6_CheckCellIndex Voronoi index analysis, report distances
- h6_CommonPointTriplet Test three cells for common point
- h6_CoordSeparation Minimum required coordinate separation
- h6_DegradeDouble Degrade cell local coordinates from double
- h6_Dist1Cell Maximum spherical distance in single cell
- h6_Dist2Cells Minimum, maximum spherical distance, two cells
- h6_Dist2CellsApprox Approximate distances, two cells
- h6_DistNeighbors Maximum spherical distance between neighbors
- h6_GetCoordDatum Get coordinate datum
- h6_HboxTestCell Test cell inside Hbox
- h6_HpsphToCell Convert Hipparchus sphere to cell coordinates
- h6_InitCellAreaArray Initialize cell area array
- h6_InitIndexDescriptor Initialize Voronoi index descriptor
- h6_IsInsideCell Verify distance from point to be inside cell
- h6_NearCellTest Near cell with user test
- h6_NearCellstring Near cell list
- h6_NearCenterCellstring Uncompressed list of proximity cell centers
- h6_TwoNearCellstrings Complete and partial proximity cell lists
- h6_Upgrade Upgrade cell coordinates to double
- h6_WindowCellstring Compressed list of window cells
- h6_WorkspaceCheck Check workspace availability
- h6_WorkspaceGet Get/reserve workspace
- h6_WorkspaceHwmReset Reset workspace high-water mark
- h6_WorkspaceInit Initialize workspace
- h6_WorkspaceRelease Release workspace

Return to Library Section Directory.

- h7_BoundaryRing Ring construction
- h7_CellStructLset Create cell-index table for Lset
- h7_CellStructRset Create cell-index table for Rset
- h7_ConstructPsetTin Construct TIN representation of a Pset
- h7_ConvexHull Convex hull Rset from Pset
- h7_FinalizeLset Finalize Lset construction
- h7_FinalizePset Finalize Pset construction
- h7_FinalizeRset Finalize Rset construction
- h7_FragmentInitLset Initialize Lset fragment traverse
- h7_FragmentInitRset Initialize Rset fragment traverse
- h7_FragmentIsLineEnd Test fragment for line end
- h7_FragmentIsLineStart Test fragment for line start
- h7_FragmentIsMonocellRing Test fragment for monocell boundary ring
- h7_FragmentNextLeg Get next fragment leg
- h7_GlobalToLset Line object from a global point queue
- h7_GlobalToPset Point object from a global point stack
- h7_GlobalToRset Region object from a global point queue
- h7_InteriorCellstring Interior cell string construction
- h7_LineSegment Line construction
- h7_LocalToPset Point object from cellid/local coordinates
- h7_LsetCountMidPoint Vertex count and mid-point of a line object
- h7_LsetGetInit Initialize Lset line/vertex retrieval
- h7_LsetGetLineNext Retrieve next Lset line
- h7_LsetGetVertexNext Retrieve next Lset vertex
- h7_LsetLength Total length of a line object
- h7_LsetNearVertices Point to line set distance
- h7_LsetPxLset Point set from two line set intersections
- h7_LsetToGlobal Queue output of a line object
- h7_LsetUxRset Union/intersection, line and region objects
- h7_NadirTraceToLset Line object from satellite nadir trace
- h7_OccupiedCellstring Occupied cell string construction
- h7_Ocix2X Cell-index intersection
- h7_OcixCellstringX Cell-index/cellstring intersection
- h7_OcixSearch Cell-index search
- h7_PointFragmentDist Point to fragment distance
- h7_PointInFragmentsInit Point inside boundary fragments in one cell
- h7_PointInFragmentsNext Point inside fragments, next fragment
- h7_PointInFragmentsReturn Point inside fragments, return result
- h7_PointInsideRset Point inside or outside a region
- h7_PointLsetDist Point to line set object distance
- h7_PointLsetDistPtr Near/far line set object element(s)
- h7_PointPsetDist Point to point object distance
- h7_PointPsetDistPtr Near/far point object element
- h7_PsetCountMidPoint Point count and mid-point of a point object
- h7_PsetDuplicates Copy a point object with duplicates
- h7_PsetExpand Expand a point object into a region
- h7_PsetNearOrdered Ordered list of near points
- h7_PsetNearPoints Point to point set distance
- h7_PsetTinZ Z value of a PsetTin
- h7_PsetToGlobal Queued output of a point object
- h7_PsetUxLset Union/intersection, point set and line set objects
- h7_PsetUxPset Union/intersection, two point sets
- h7_PsetUxRset Union/intersection, point set and region objects
- h7_PTestLsetRset Test line set and region object for common point
- h7_PTestRsetRset Test two region objects for common point
- h7_ReleaseHpobj Release heap storage holding an object
- h7_RsetAreaPerimeter Area, perimeter of a region object
- h7_RsetCountMidPoint Vertex count and mid-point of a region object
- h7_RsetGetInit Initialize Rset ring/vertex retrieval
- h7_RsetGetRingNext Retrieve next Rset ring
- h7_RsetGetVertexNext Retrieve next Rset vertex
- h7_RsetGlobalComplement Create global complement of a region object
- h7_RsetNearVertices Point to region boundary distance
- h7_RsetToGlobal Queue output of a region object
- h7_RsetUxRset Union/intersection, two region objects
- h7_SwathToRset Region object from time and sensor swath
- h7_TestMonocellRing Double area of a single-cell ring
- h7_VerifyRsetBoundary Verify region boundary and vertex proximity
- h7_VerifyRsetTopology Verify topology of region rings

Return to Library Section Directory.

These functions have only descriptive (long) names, prefixed *h8*,
*h9* and *h0*.

Since these functions are supplied in source, they may be freely modified as
required to perform satisfactorly in specific graphics or file I/O
environments other than those demonstrated in *Columbus*,
*Galileo*, *Georama* and the *Hipparchus Utilities*.

Function prototypes, structures and manifest constants relevant to the
*Hipparchus Auxiliary Library* are defined by the header files
*hippttys.h*, *hippdbse.h , hippmmpf.h*, hippdraw.h,

- there is a very high volume of static geographic objects and/or vector
coordinate data, and:
- run-time C/C++ stream I/O and binary search facilities are available and
- a formal DBMS has not been mandated.

- very large individual objects are to be created and accessed and
- run-time memory-mapped file access facilities are available and
- an object is to be searched rigorously for proximate elements, or
- a large and complex object is to be intersected with a smaller region, (such as an "area of interest" polygon).

Several functions facilitate the run-time setup and closure of memory-mapped file access to Hipparchus Binary Objects (HBO's) and other files. This permits Hipparchus functions in general to access and manipulate Hipparchus binary objects via the facilities of the operating system's virtual memory manager, eliminating the overhead of first copying those objects into real (or virtual) memory. Hipparchus binary objects may be created on-line by the application or off-line via the appropriate Hipparchus utility.

All functions in this section are re-entrant. As such they may be used freely in the construction of scalable multi-threaded server applications.

- h8_CloseHboMmf Close memory mapped Hipparchus object
- h8_CloseMmf Close file memory mapping
- h8_CloseVixMmf Close Voronoi index memory mapping
- h8_DbIxExactGet Find cell index entry for a given cell
- h8_DbIxExactInit Initialize cell index search
- h8_DbIxExactTest Test for cell presence in cell index
- h8_DbIxNextGet File cell index/cellstring merge traverse
- h8_DbIxNextInit Initialize file cell index merge
- h8_DbLnCloseGet Find closest line in a given cell
- h8_DbPtCloseGet Find closest point in a given cell
- h8_NewHboFile Verify Hipparchus object file name and location
- h8_OldHboFile Confirm Hipparchus object presence and attributes
- h8_OpenNewHboMmf Memory map Hipparchus object under construction
- h8_OpenOldHboMmf Memory map an existing Hipparchus object
- h8_OpenOldMmf Open existing file memory mapping for reading
- h8_OpenVixMmf Open Voronoi index memory mapping

Return to Library Section Directory.

All functions in this section are re-entrant.

- h9_CellBoundary Render cell boundary in window
- h9_CellDual Render cell center to neighbor center lines
- h9_CellSpokes Render cell center to vertex lines
- h9_CloseWindow Release memory in a window control block
- h9_DisplayCells Render all window cells
- h9_DisplayLine Render line in cartographic projection plane
- h9_DisplayLset Render line set object
- h9_DisplayLsetLine Render single line of a line set
- h9_DisplayLsetLineEnds Render line set line ends
- h9_DisplayLsetVertices Render line set vertices
- h9_DisplayPoint Render single global point
- h9_DisplayPset Render point object
- h9_DisplayRing Render ring boundary
- h9_DisplayRsetBoundary Render region boundary
- h9_DisplayRsetVertices Render region boundary vertices
- h9_DisplaySeToPlane Map-plane/Display inverse, SE pixel corner
- h9_DisplayTinEdges Render edges of Pset TIN
- h9_DisplayTinSurface Render surface of Pset TIN
- h9_DisplayTinVertices Render vertices of Pset TIN
- h9_DisplayToPlane Map-plane/Display inverse transformation
- h9_DrawSgVxFile Draw coastline from segment/vertex files
- h9_FillCell Cell interior fill
- h9_FillRset Simple region interior fill
- h9_GraphOutputAbort Signal abort of graphical output
- h9_GraphOutputEnd End graphical primitives
- h9_GraphOutputStart Start graphical primitives
- h9_HcpyFill Produce HPGL (hardcopy) fill
- h9_HcpyLineEnd End HPGL line buffering
- h9_HcpyLineTo Produce HPGL pixel line command
- h9_HcpyMoveTo Produce HPGL pixel move command
- h9_HcpyOutputChar Format and output HPGL character
- h9_HcpyOutputString Format and output HPGL string
- h9_HcpySetLine Set HPGL (hardcopy) line attributes
- h9_HcpySymbols Produce HPGL symbols
- h9_Horizon Globe horizon
- h9_InitWindow Initialize map window
- h9_LatLongGrid Map Latitude/Longitude grid
- h9_LineEnd Line output end
- h9_LineTo Line vertex output end
- h9_MapPoint Native projection, sphere to plane
- h9_Marker Display a glyph at given pixel location
- h9_MoveTo Break line
- h9_NewWindowDisplay Delineate new/proposed window
- h9_NewWindowStart Initialize new/proposed window trace
- h9_PlaneToDisplay Map-plane/Display direct transformation
- h9_PlaneToPlane Map-plane/Display, double, direct transformation
- h9_PolygonFill Simple polygon fill
- h9_QuickMap Cell to display, "quick-map"
- h9_QuickMapInit Initialize cell/display "quick-map"
- h9_ScanLineSegment Set y-line color gradient
- h9_SetPlaneDisplay Map-plane/Display transformation initialization
- h9_SetPlaneDisplayDirect Map-plane/Display transformation initialization
- h9_Symbol Symbol output
- h9_SymbolEnd Symbol output end
- h9_UnMapPoint Native projection, plane to sphere
- h9_WindowCellstring Construct window cellstring
- h9_WindowRset Construct window region

Return to Library Section Directory.

- h0_AngleToString Convert radian angle to character string
- h0_CLineFileName Retrieve command line file name
- h0_CLineOption Retrieve command line option
- h0_CdcHToDcos3 Vector from concise direction cosines
- h0_ComposeFileName Compose file name
- h0_CryptInitPad Initialize Blowfish P and S tables
- h0_CryptTestPad Test for Blowfish weak key
- h0_CtrlFileClose Close control file
- h0_CtrlFileCloseSave Save and close control file
- h0_CtrlFileGetFileName Get control file name
- h0_CtrlFileGetKeyData Get control file string data
- h0_CtrlFileGetKeyInt Get control file integer data
- h0_CtrlFileGetKeyInts Get control file integer array data
- h0_CtrlFileGetNext Get control file strings in a loop
- h0_CtrlFileOpen Open control file
- h0_CtrlFilePutKeyData Put control file string data
- h0_CtrlFileRemoveKey Remove control file directive
- h0_CtrlFileVerify Verify control file syntax
- h0_DateToString Convert Gregorian date to string
- h0_Dcos3ToCdcH Concise direction cosines from vector
- h0_DeCrypt Decrypt using Blowfish
- h0_DirectoryTraverseInit Initialize directory traverse
- h0_DirectoryTraverseNext Get next file name in a directory
- h0_DumpCoordinates Dump object coordinates
- h0_DumpLset Dump line object
- h0_DumpPset Dump point object
- h0_DumpPsetTin Dump point-surface object
- h0_DumpRset Dump region object
- h0_EnCrypt Encrypt using Blowfish
- h0_ErrorExit Print message and abort
- h0_ExtractFileBaseName Extract file base name
- h0_ExtractFileExtension Extract file extension
- h0_ExtractFilePath Extract file path
- h0_FreeVix Free Voronoi index memory
- h0_HashBytes Cryptographic hash of a character string
- h0_LoadTix Load textual Voronoi index file
- h0_LoadVix Load binary Voronoi index file
- h0_ParseString Parse character string
- h0_ProjectionCode Projection code
- h0_ProjectionName Projection name
- h0_RemovePath Remove file path
- h0_ReplaceExtension Replace file extension
- h0_ResolutionCode Resolution code
- h0_ResolutionName Resolution name
- h0_StrAppendStr Append string
- h0_StrAppendChar Append character
- h0_StringToAngle Convert character string to radian angle
- h0_StringToDaynumber Character string to Gregorian day-number
- h0_VerifyObjectName Verify object name
- h0_WorkFileSort Sort workfile

If you are developing for DOS-level systems, please note that another sub-set
of *h0* functions is provided, in source, "as is", in the
*GRAB_BAG*. These are DOS-level console and graphics routines that we
have used beneficially in the past for applications having limited hardware
resources.

Return to Library Section Directory.