EPS Source code

Chart.java
Applet that start application ChartFrame1
ChartFrame.java
Appication that starts application ChartFrame1
ChartFrame1.java
Opens new window with map, menus, slides, waypoint lists etc. Uses old event model. ChartFrame1.j11.java with new event model not used yet because I want EPS to run on Netscape.
ImageGMap.java
The moving map canvas. Loaded chart rectangles are cached in loadedMaps[][]. On Java 1.1 drawImage() can efficinetly draw the visible part of each chart in the rigth size. On Java 1.0 it is necessary to draw the entire chart (including the non-visible part). When only a small part of a chart is visible on the canvas (Ie. zoom>>100) this is very expensive.
CAux.java
DatumMenu.java
EPSCanvas.java
Abstract class. In the future i might allow multiple canvases at a time.
Elip.java
Ellipsoids. Used by datums.
Datum.java
Datums consist of an elipsoid and XYZ conversion parameters.
DatumMenu.java
Menu that select datum. Used in the "set" menu to set position- and map datum.
Garmincomm.java
Communication with GARMIN GPS unit over serial line. Computes cheksums and create streams. Serial port is initialized with process.

Netscapes PrivilegeManager used to make processes and use serial port on Netscape.

Getgpsinfo.java
Upload data from GPS unit. Runs in new thread.
Sendgpsinfo.java
Download data to GPS unit. Runs in new thread.
Gpsmessage.java
Codes an constants used in GARMIN communication.
NMEA.java
Reads NMEA output. Logs positions and timestamps. Each new position produces a "repaint" that makes ImageGMap draw current position and track on the Chart canvas.
Pone.java
Coordinate (longitude or latitude). Deals with different notations (55.12, 55'12"0 etc).
Pos.java
Position. Initializes datum list. A position is a (Pone) latitued and a (Pone) longitude and a datum. Conversion between datums, comparations of postions, additions of positions/vectors.

Conversion routines use simple cashing (one element altPos) to improve efficience and reduce accumulation of errors due to many conversions between ie. map- and position datum.

WPC.java
Handles set of waypoints. Insertion, deletion, search and parsing.
RouteC.java
Handles set of routes. Insertion, deletion, search and parsing.
TrackC.java
Handles set of track positions. Insertion, deletion, search and parsing.
ICF.java
Prefs.java
Route.java
TRPos.java
WayPoint.java
aWP.java
GMenv.java
GTime.java

Niels Elgaard Larsen

email: elgaard@diku.dk