/* Copyright (C) 2001, 2006 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. */ package gov.nasa.worldwind.globes; import gov.nasa.worldwind.WWObject; import gov.nasa.worldwind.render.DrawContext; import gov.nasa.worldwind.geom.*; /** * @author Tom Gaskins * @version $Id: Globe.java 5215 2008-04-30 04:37:46Z tgaskins $ */ public interface Globe extends WWObject, Extent { Vec4 computePointFromPosition(Angle latitude, Angle longitude, double metersElevation); Vec4 computeSurfaceNormalAtPoint(Vec4 p); ElevationModel getElevationModel(); Extent getExtent(); double getEquatorialRadius(); double getPolarRadius(); double getMaximumRadius(); double getRadiusAt(Angle latitude, Angle longitude); double getElevation(Angle latitude, Angle longitude); double getMaxElevation(); double getMinElevation(); Position getIntersectionPosition(Line line); double getEccentricitySquared(); Position computePositionFromPoint(Vec4 point); Vec4 computePointFromPosition(Position position); double getRadiusAt(LatLon latLon); double[] getMinAndMaxElevations(Sector sector); Intersection[] intersect(Line line, double altitude); Cylinder computeBoundingCylinder(double verticalExaggeration, Sector sector); Double getBestElevation(Angle latitude, Angle longitude); Double getElevationAtResolution(Angle latitude, Angle longitude, double resolution); Tessellator getTessellator(); void setTessellator(Tessellator tessellator); SectorGeometryList tessellate(DrawContext dc); Object getStateKey(); }