|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectgov.nasa.worldwind.avlist.AVListImpl
gov.nasa.worldwind.WWObjectImpl
gov.nasa.worldwind.globes.EllipsoidalGlobe
public class EllipsoidalGlobe
| Nested Class Summary | |
|---|---|
protected class |
EllipsoidalGlobe.StateKey
|
| Field Summary | |
|---|---|
protected double |
equatorialRadius
|
protected double |
es
|
protected double |
polarRadius
|
| Fields inherited from class gov.nasa.worldwind.avlist.AVListImpl |
|---|
changeSupport |
| Constructor Summary | |
|---|---|
EllipsoidalGlobe(double equatorialRadius,
double polarRadius,
double es,
ElevationModel em)
|
|
EllipsoidalGlobe(double equatorialRadius,
double polarRadius,
double es,
ElevationModel em,
Vec4 center)
|
|
| Method Summary | |
|---|---|
protected Position |
cartesianToGeodetic(Vec4 cart)
|
Cylinder |
computeBoundingCylinder(double verticalExaggeration,
Sector sector)
Returns a cylinder that minimally surrounds the sector at a specified vertical exaggeration. |
Cylinder |
computeBoundingCylinder(double verticalExaggeration,
Sector sector,
double minElevation,
double maxElevation)
Returns a cylinder that minimally surrounds the specified minimum and maximum elevations in the sector at a specified vertical exaggeration. |
protected Cylinder |
computeBoundsFromSectorLatitudeRange(Sector sector,
double minHeight,
double maxHeight)
Compute the Cylinder that surrounds the equator, and has height defined by the sector's minumum and maximum latitudes (including maxHeight). |
protected Cylinder |
computeBoundsFromSectorQuadrilateral(Sector sector,
double minHeight,
double maxHeight)
Returns a cylinder that minimally surrounds the specified height range in the sector. |
protected Cylinder |
computeBoundsFromSectorVertices(Sector sector,
double minHeight,
double maxHeight)
Returns a cylinder that surrounds the specified height range in the zero-area sector. |
Vec4 |
computeNorthPointingTangentAtLocation(Angle latitude,
Angle longitude)
|
Vec4 |
computePointFromPosition(Angle latitude,
Angle longitude,
double metersElevation)
|
Vec4 |
computePointFromPosition(Position position)
|
Position |
computePositionFromPoint(Vec4 point)
|
Vec4 |
computeSurfaceNormalAtLocation(Angle latitude,
Angle longitude)
Returns the normal to the Globe at the specified position. |
Vec4 |
computeSurfaceNormalAtPoint(Vec4 point)
Returns the normal to the Globe at the specified cartiesian point. |
Matrix |
computeTransformToPosition(Angle latitude,
Angle longitude,
double metersElevation)
Returns the cartesian transform Matrix that maps coordinates to the local coordinate system at (latitude, longitude, metersElevation). |
Matrix |
computeTransformToPosition(Position position)
Returns the cartesian transform Matrix that maps coordinates to the local coordinate system at (latitude, longitude, metersElevation). |
protected Vec4 |
geodeticToCartesian(Angle latitude,
Angle longitude,
double metersElevation)
Maps a position to a flat world Cartesian coordinates. |
Vec4 |
getCenter()
|
double |
getDiameter()
|
double |
getEccentricitySquared()
|
double |
getElevation(Angle latitude,
Angle longitude)
|
ElevationModel |
getElevationModel()
|
double |
getElevations(Sector sector,
List<? extends LatLon> latlons,
double targetResolution,
double[] elevations)
|
double |
getEquatorialRadius()
|
Extent |
getExtent()
|
Position |
getIntersectionPosition(Line line)
|
double |
getMaxElevation()
|
double |
getMaximumRadius()
|
double[] |
getMinAndMaxElevations(Sector sector)
|
double |
getMinElevation()
|
double |
getPolarRadius()
|
double |
getRadius()
|
double |
getRadiusAt(Angle latitude,
Angle longitude)
|
double |
getRadiusAt(LatLon latLon)
|
Object |
getStateKey(DrawContext dc)
|
Tessellator |
getTessellator()
|
Intersection[] |
intersect(Line line)
Obtain the intersections of this extent with line. |
Intersection[] |
intersect(Line line,
double altitude)
|
protected Intersection[] |
intersect(Line line,
double equRadius,
double polRadius)
|
Intersection[] |
intersect(Triangle t,
double elevation)
Determines if and where a Triangle intersects the globe ellipsoid at a given elevation. |
boolean |
intersects(Frustum frustum)
Tests whether or not this Extent intersects frustum. |
boolean |
intersects(Line line)
Calculate whether or not line intersects this Extent. |
boolean |
intersects(Plane plane)
Calculate whether or not this Extent is intersected by plane. |
boolean |
isPointAboveElevation(Vec4 point,
double elevation)
Determines whether a point is above a given elevation |
void |
setElevationModel(ElevationModel elevationModel)
|
void |
setTessellator(Tessellator tessellator)
|
SectorGeometryList |
tessellate(DrawContext dc)
|
| Methods inherited from class gov.nasa.worldwind.WWObjectImpl |
|---|
propertyChange |
| Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl |
|---|
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 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 |
| Field Detail |
|---|
protected final double equatorialRadius
protected final double es
protected final double polarRadius
| Constructor Detail |
|---|
public EllipsoidalGlobe(double equatorialRadius,
double polarRadius,
double es,
ElevationModel em)
public EllipsoidalGlobe(double equatorialRadius,
double polarRadius,
double es,
ElevationModel em,
Vec4 center)
| Method Detail |
|---|
protected Position cartesianToGeodetic(Vec4 cart)
public Cylinder computeBoundingCylinder(double verticalExaggeration,
Sector sector)
computeBoundingCylinder in interface GlobeverticalExaggeration - the vertical exaggeration to apply to the globe's elevations when computing the
cylinder.sector - the sector to return the bounding cylinder for.
IllegalArgumentException - if sector is null
public Cylinder computeBoundingCylinder(double verticalExaggeration,
Sector sector,
double minElevation,
double maxElevation)
computeBoundingCylinder in interface GlobeverticalExaggeration - the vertical exaggeration to apply to the minimum and maximum elevations when
computing the cylinder.sector - the sector to return the bounding cylinder for.minElevation - the minimum elevation of the bounding cylinder.maxElevation - the maximum elevation of the bounding cylinder.
IllegalArgumentException - if sector is null
protected Cylinder computeBoundsFromSectorLatitudeRange(Sector sector,
double minHeight,
double maxHeight)
sector - the sector to return the bounding cylinder for.minHeight - the minimum height to include in the bounding cylinder.maxHeight - the maximum height to include in the bounding cylinder.
IllegalArgumentException - if sector is null
protected Cylinder computeBoundsFromSectorQuadrilateral(Sector sector,
double minHeight,
double maxHeight)
sector - the sector to return the bounding cylinder for.minHeight - the minimum height to include in the bounding cylinder.maxHeight - the maximum height to include in the bounding cylinder.
IllegalArgumentException - if sector is null
protected Cylinder computeBoundsFromSectorVertices(Sector sector,
double minHeight,
double maxHeight)
computeBoundsFromSectorQuadrilateral.
sector - the sector to return the bounding cylinder for.minHeight - the minimum height to include in the bounding cylinder.maxHeight - the maximum height to include in the bounding cylinder.
IllegalArgumentException - if sector is null
public Vec4 computeNorthPointingTangentAtLocation(Angle latitude,
Angle longitude)
computeNorthPointingTangentAtLocation in interface Globe
public Vec4 computePointFromPosition(Angle latitude,
Angle longitude,
double metersElevation)
computePointFromPosition in interface Globepublic Vec4 computePointFromPosition(Position position)
computePointFromPosition in interface Globepublic Position computePositionFromPoint(Vec4 point)
computePositionFromPoint in interface Globe
public Vec4 computeSurfaceNormalAtLocation(Angle latitude,
Angle longitude)
computeSurfaceNormalAtLocation in interface Globelatitude - the latitude of the position.longitude - the longitude of the position.
public Vec4 computeSurfaceNormalAtPoint(Vec4 point)
computeSurfaceNormalAtPoint in interface Globepoint - the cartesian point.
public Matrix computeTransformToPosition(Angle latitude,
Angle longitude,
double metersElevation)
computeTransformToPosition in interface Globelatitude - the latitude of the position.longitude - the longitude of the position.metersElevation - the number of meters above or below mean sea level.
public Matrix computeTransformToPosition(Position position)
computeTransformToPosition in interface Globeposition - the latitude, longitude, and number of meters above or below mean sea level.
protected Vec4 geodeticToCartesian(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.
public Vec4 getCenter()
getCenter in interface Extentpublic double getDiameter()
getDiameter in interface Extentpublic double getEccentricitySquared()
getEccentricitySquared in interface Globe
public double getElevation(Angle latitude,
Angle longitude)
getElevation in interface Globepublic ElevationModel getElevationModel()
getElevationModel in interface Globe
public double getElevations(Sector sector,
List<? extends LatLon> latlons,
double targetResolution,
double[] elevations)
getElevations in interface Globepublic double getEquatorialRadius()
getEquatorialRadius in interface Globepublic Extent getExtent()
getExtent in interface Globepublic Position getIntersectionPosition(Line line)
getIntersectionPosition in interface Globepublic double getMaxElevation()
getMaxElevation in interface Globepublic double getMaximumRadius()
getMaximumRadius in interface Globepublic double[] getMinAndMaxElevations(Sector sector)
getMinAndMaxElevations in interface Globepublic double getMinElevation()
getMinElevation in interface Globepublic double getPolarRadius()
getPolarRadius in interface Globepublic double getRadius()
getRadius in interface Extent
public double getRadiusAt(Angle latitude,
Angle longitude)
getRadiusAt in interface Globepublic double getRadiusAt(LatLon latLon)
getRadiusAt in interface Globepublic Object getStateKey(DrawContext dc)
getStateKey in interface Globepublic Tessellator getTessellator()
getTessellator in interface Globepublic Intersection[] intersect(Line line)
Extentline. The returned array may be either null or of zero
length if no intersections are discovered. It does not contain null elements. Tangential intersections are marked
as such. line is considered to have infinite length in both directions.
intersect in interface Extentline - the Line with which to intersect this Extent
line enters or leave this
Extent
public Intersection[] intersect(Line line,
double altitude)
intersect in interface Globe
protected Intersection[] intersect(Line line,
double equRadius,
double polRadius)
public Intersection[] intersect(Triangle t,
double elevation)
Triangle intersects the globe ellipsoid at a given elevation.
intersect in interface Globet - the Trinagle.elevation - the elevation to test for.
Intersection or null if no intersection was found.public boolean intersects(Frustum frustum)
ExtentExtent intersects frustum. Returns true if any part of these
two objects intersect, including the case where either object wholly contains the other, false otherwise.
intersects in interface Extentfrustum - the Frustum with which to test for intersection
public boolean intersects(Line line)
Extentline intersects this Extent. This method may be faster than
checking the size of the arary returned by intersect(Line). Implementing methods must ensure that
this method returns true if and only if intersect(Line) returns a non-null array containing at least
one element.
intersects in interface Extentline - the Line with which to test for intersection
public boolean intersects(Plane plane)
ExtentExtent is intersected by plane.
intersects in interface Extentplane - the Plane with which to test for intersection
plane is found to intersect this Extent
public boolean isPointAboveElevation(Vec4 point,
double elevation)
isPointAboveElevation in interface Globepoint - the Vec4 point to test.elevation - the elevation to test for.
public void setElevationModel(ElevationModel elevationModel)
setElevationModel in interface Globepublic void setTessellator(Tessellator tessellator)
setTessellator in interface Globepublic SectorGeometryList tessellate(DrawContext dc)
tessellate in interface Globe
|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||