|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface Globe
Represents a planet's shape and terrain. A globe may be associated with an ElevationModel that provides
elevations for geographic positions on the surface of the globe. Globe provides methods for converting geographic
positions (latitude, longitude, and elevation) to cartesian coordinates, and for converting cartesian to geographic.
The origin and orientation of the cartesian coordinate system are determined by implementations of this interface.
| Method Summary | |
|---|---|
Matrix |
computeModelCoordinateOriginTransform(Angle latitude,
Angle longitude,
double metersElevation)
|
Matrix |
computeModelCoordinateOriginTransform(Position position)
|
Vec4 |
computeNorthPointingTangentAtLocation(Angle latitude,
Angle longitude)
Computes a vector tangent to this globe and pointing toward the north pole. |
Vec4 |
computePointFromLocation(LatLon location)
Computes a cartesian point from a geographic location on the surface of this globe. |
Vec4 |
computePointFromPosition(Angle latitude,
Angle longitude,
double metersElevation)
Computes a cartesian point from a latitude, longitude, and elevation. |
Vec4 |
computePointFromPosition(LatLon latLon,
double metersElevation)
Computes a cartesian point from a geographic location and elevation. |
Vec4 |
computePointFromPosition(Position position)
Computes a cartesian point from a geographic position. |
Position |
computePositionFromPoint(Vec4 point)
Computes the geographic position of a point in cartesian coordinates. |
Vec4 |
computeSurfaceNormalAtLocation(Angle latitude,
Angle longitude)
Computes a vector perpendicular to the surface of this globe. |
Vec4 |
computeSurfaceNormalAtPoint(Vec4 point)
Computes a vector perpendicular to the surface of this globe, at a cartesian point. |
Matrix |
computeSurfaceOrientationAtPosition(Angle latitude,
Angle longitude,
double metersElevation)
Returns the cartesian transform Matrix that maps model coordinates to a local coordinate system at (latitude, longitude, metersElevation). |
Matrix |
computeSurfaceOrientationAtPosition(Position position)
Returns the cartesian transform Matrix that maps model coordinates to a local coordinate system at (latitude, longitude, metersElevation). |
double |
getEccentricitySquared()
Indicates the square of this globe's eccentricity. |
double |
getElevation(Angle latitude,
Angle longitude)
Indicates the elevation at a specified location. |
ElevationModel |
getElevationModel()
Indicates this globe's elevation model. |
double |
getElevations(Sector sector,
List<? extends LatLon> latlons,
double targetResolution,
double[] elevations)
Indicates the elevations of a collection of locations. |
double |
getEquatorialRadius()
Indicates the radius of the globe at the equator, in meters. |
Extent |
getExtent()
Indicates the spatial volume contained by this globe. |
GlobeStateKey |
getGlobeStateKey()
Returns a typed state key identifying this globe's current configuration. |
GlobeStateKey |
getGlobeStateKey(DrawContext dc)
Returns a typed state key identifying this globe's current configuration. |
Position |
getIntersectionPosition(Line line)
Computes the intersections of this globe and a line. |
double |
getMaxElevation()
Indicates the maximum elevation on this globe, in meters. |
double |
getMaximumRadius()
Indicates the maximum radius on the globe. |
double[] |
getMinAndMaxElevations(Angle latitude,
Angle longitude)
Returns the minimum and maximum elevations at a specified location on this Globe. |
double[] |
getMinAndMaxElevations(Sector sector)
Returns the minimum and maximum elevations within a specified sector on this Globe. |
double |
getMinElevation()
Indicates the minimum elevation on this globe, in meters. |
double |
getPolarRadius()
Indicates the radius of the globe at the poles, in meters. |
double |
getRadiusAt(Angle latitude,
Angle longitude)
Indicates the radius of the globe at a location. |
double |
getRadiusAt(LatLon latLon)
Indicates this globe's radius at a specified location. |
Object |
getStateKey(DrawContext dc)
Returns a state key identifying this globe's current configuration. |
Tessellator |
getTessellator()
Returns this globe's current tessellator. |
Intersection[] |
intersect(Line line,
double altitude)
Intersects a specified line with this globe. |
Intersection[] |
intersect(Triangle triangle,
double altitude)
Intersects a specified triangle with the globe. |
boolean |
isPointAboveElevation(Vec4 point,
double elevation)
Determines whether a point is above a given elevation. |
void |
setElevationModel(ElevationModel elevationModel)
Specifies this globe's elevation model. |
void |
setTessellator(Tessellator tessellator)
Specifies this globe's tessellator. |
SectorGeometryList |
tessellate(DrawContext dc)
Tessellate this globe for the currently visible region. |
| Methods inherited from interface gov.nasa.worldwind.avlist.AVList |
|---|
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
| Methods inherited from interface java.beans.PropertyChangeListener |
|---|
propertyChange |
| Methods inherited from interface gov.nasa.worldwind.event.MessageListener |
|---|
onMessage |
| Methods inherited from interface gov.nasa.worldwind.geom.Extent |
|---|
getCenter, getDiameter, getEffectiveRadius, getProjectedArea, getRadius, intersect, intersects, intersects, intersects |
| Method Detail |
|---|
Matrix computeModelCoordinateOriginTransform(Angle latitude,
Angle longitude,
double metersElevation)
computeSurfaceOrientationAtPosition(gov.nasa.worldwind.geom.Angle, gov.nasa.worldwind.geom.Angle, double).Matrix computeModelCoordinateOriginTransform(Position position)
computeSurfaceOrientationAtPosition(gov.nasa.worldwind.geom.Position)
Vec4 computeNorthPointingTangentAtLocation(Angle latitude,
Angle longitude)
latitude - Latitude of the location at which to compute the tangent vector.longitude - Longitude of the location at which to compute the tangent vector.
Vec4 computePointFromLocation(LatLon location)
location - Geographic location on the surface of the globe to convert to cartesian.
Vec4 computePointFromPosition(Angle latitude,
Angle longitude,
double metersElevation)
latitude - Latitude of the location to convert to cartesian.longitude - Longitude of the location to convert to cartesian.metersElevation - Elevation, in meters, of the geographic position to convert to cartesian.
Vec4 computePointFromPosition(LatLon latLon,
double metersElevation)
latLon - Geographic location to convert to cartesian.metersElevation - Elevation, in meters, of the geographic position to convert to cartesian.
Vec4 computePointFromPosition(Position position)
position - Geographic position to convert to cartesian. The position may include elevation above or below
the globe's surface.
Position computePositionFromPoint(Vec4 point)
point - Point of which to find the geographic position.
Vec4 computeSurfaceNormalAtLocation(Angle latitude,
Angle longitude)
latitude - Latitude of the location at which to compute the normal vector.longitude - Longitude of the location at which to compute the normal vector.
Vec4 computeSurfaceNormalAtPoint(Vec4 point)
point - Point in cartesian coordinates at which to compute the normal vector.
Matrix computeSurfaceOrientationAtPosition(Angle latitude,
Angle longitude,
double metersElevation)
latitude - the latitude of the position.longitude - the longitude of the position.metersElevation - the number of meters above or below mean sea level.
Matrix computeSurfaceOrientationAtPosition(Position position)
position - the latitude, longitude, and number of meters above or below mean sea level.
double getEccentricitySquared()
double getElevation(Angle latitude,
Angle longitude)
latitude - the latitude of the location at which to determine elevation.longitude - the longitude of the location at which to determine elevation.
getElevationModel()ElevationModel getElevationModel()
double getElevations(Sector sector,
List<? extends LatLon> latlons,
double targetResolution,
double[] elevations)
sector - the sector in question.latlons - the locations to return elevations for. If a location is null, the output buffer for that
location is not modified.targetResolution - the desired horizontal resolution, in radians, of the raster or other elevation sample
from which elevations are drawn. (To compute radians from a distance, divide the distance
by the radius of the globe, ensuring that both the distance and the radius are in the
same units.)elevations - an array in which to place the returned elevations. The array must be pre-allocated and
contain at least as many elements as the list of locations.
Double.MAX_VALUE if individual elevations cannot be
determined for all of the locations. Returns zero if an elevation model is not available.getElevationModel()double getEquatorialRadius()
Extent getExtent()
GlobeStateKey getGlobeStateKey()
IllegalArgumentException - if the draw context is null.GlobeStateKey getGlobeStateKey(DrawContext dc)
dc - the current draw context.
IllegalArgumentException - if the draw context is null.Position getIntersectionPosition(Line line)
line - the line with which to intersect this globe.
double getMaxElevation()
double getMaximumRadius()
double[] getMinAndMaxElevations(Angle latitude,
Angle longitude)
latitude - the latitude of the location in question.longitude - the longitude of the location in question.
double array indicating the minimum and maximum elevations at the specified
location, respectively. These values are the global minimum and maximum if the local minimum and maximum
values are currently unknown, or zero if this Globe has no elevation model.double[] getMinAndMaxElevations(Sector sector)
sector - the sector in question.
double array indicating the sector's minimum and maximum elevations,
respectively. These elements are the global minimum and maximum if the local minimum and maximum values
are currently unknown, or zero if this Globe has no elevation model.double getMinElevation()
double getPolarRadius()
double getRadiusAt(Angle latitude,
Angle longitude)
latitude - Latitude of the location at which to determine radius.longitude - Longitude of the location at which to determine radius.
double getRadiusAt(LatLon latLon)
latLon - the location of interest.
Object getStateKey(DrawContext dc)
dc - the current draw context.
IllegalArgumentException - if the draw context is null.Tessellator getTessellator()
Intersection[] intersect(Line line,
double altitude)
line - the line to intersect.altitude - a distance in meters to expand the globe's equatorial and polar radii prior to performing the
intersection.
line is null.
Intersection[] intersect(Triangle triangle,
double altitude)
triangle - the triangle to intersect.altitude - a distance in meters to expand the globe's equatorial and polar radii prior to performing the
intersection.
triangle is null.
boolean isPointAboveElevation(Vec4 point,
double elevation)
point - the Vec4 point to test. If null, this method returns false.elevation - the elevation to test for.
void setElevationModel(ElevationModel elevationModel)
elevationModel - this globe's elevation model. May be null to indicate no elevation model.void setTessellator(Tessellator tessellator)
tessellator - the new tessellator. Specify null to use the default tessellator.SectorGeometryList tessellate(DrawContext dc)
dc - the current draw context.
IllegalStateException - if the globe has no tessellator and a default tessellator cannot be created.
|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||