Hi Brendan,
The workaround looks something like this:
cam = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_SEA_FLOOR);
cam.setAltitudeMode(ge.ALTITUDE_ABSOLUTE);
cam.setAltitude(ge.getGlobe().getGroundAltitude(cam.getLatitude(),
cam.getLongitude()));
However, the 0 altitude only makes sense if you are using altitude
relative to the ground (if you are looking at the ground).
I would think that ALTITUDE_ABSOLUTE would give you the absolute
altitude (the ground elevation) of the target on the earth.
I'll file a bug for the bogus values when you are underwater.
Here's an example of them:
CAM1 is using the workaround above.
CAM2 is ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
CAM1 range: 11954.5352642897
CAM1 altitude: -4997.94751973414
CAM2 range: 1827560.67051247
CAM2 altitude: 0
-- James