|
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 Globe
verticalExaggeration
- 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 nullpublic Cylinder computeBoundingCylinder(double verticalExaggeration, Sector sector, double minElevation, double maxElevation)
computeBoundingCylinder
in interface Globe
verticalExaggeration
- 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 nullprotected 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 nullprotected 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 nullprotected 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 nullpublic Vec4 computeNorthPointingTangentAtLocation(Angle latitude, Angle longitude)
computeNorthPointingTangentAtLocation
in interface Globe
public Vec4 computePointFromPosition(Angle latitude, Angle longitude, double metersElevation)
computePointFromPosition
in interface Globe
public Vec4 computePointFromPosition(Position position)
computePointFromPosition
in interface Globe
public Position computePositionFromPoint(Vec4 point)
computePositionFromPoint
in interface Globe
public Vec4 computeSurfaceNormalAtLocation(Angle latitude, Angle longitude)
computeSurfaceNormalAtLocation
in interface Globe
latitude
- the latitude of the position.longitude
- the longitude of the position.
public Vec4 computeSurfaceNormalAtPoint(Vec4 point)
computeSurfaceNormalAtPoint
in interface Globe
point
- the cartesian point.
public Matrix computeTransformToPosition(Angle latitude, Angle longitude, double metersElevation)
computeTransformToPosition
in interface Globe
latitude
- 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 Globe
position
- 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 Extent
public double getDiameter()
getDiameter
in interface Extent
public double getEccentricitySquared()
getEccentricitySquared
in interface Globe
public double getElevation(Angle latitude, Angle longitude)
getElevation
in interface Globe
public ElevationModel getElevationModel()
getElevationModel
in interface Globe
public double getElevations(Sector sector, List<? extends LatLon> latlons, double targetResolution, double[] elevations)
getElevations
in interface Globe
public double getEquatorialRadius()
getEquatorialRadius
in interface Globe
public Extent getExtent()
getExtent
in interface Globe
public Position getIntersectionPosition(Line line)
getIntersectionPosition
in interface Globe
public double getMaxElevation()
getMaxElevation
in interface Globe
public double getMaximumRadius()
getMaximumRadius
in interface Globe
public double[] getMinAndMaxElevations(Sector sector)
getMinAndMaxElevations
in interface Globe
public double getMinElevation()
getMinElevation
in interface Globe
public double getPolarRadius()
getPolarRadius
in interface Globe
public double getRadius()
getRadius
in interface Extent
public double getRadiusAt(Angle latitude, Angle longitude)
getRadiusAt
in interface Globe
public double getRadiusAt(LatLon latLon)
getRadiusAt
in interface Globe
public Object getStateKey(DrawContext dc)
getStateKey
in interface Globe
public Tessellator getTessellator()
getTessellator
in interface Globe
public Intersection[] intersect(Line line)
Extent
line
. 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 Extent
line
- 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 Globe
t
- the Trinagle
.elevation
- the elevation to test for.
Intersection
or null if no intersection was found.public boolean intersects(Frustum frustum)
Extent
Extent
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 Extent
frustum
- the Frustum
with which to test for intersection
public boolean intersects(Line line)
Extent
line
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 Extent
line
- the Line
with which to test for intersection
public boolean intersects(Plane plane)
Extent
Extent
is intersected by plane
.
intersects
in interface Extent
plane
- 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 Globe
point
- the Vec4
point to test.elevation
- the elevation to test for.
public void setElevationModel(ElevationModel elevationModel)
setElevationModel
in interface Globe
public void setTessellator(Tessellator tessellator)
setTessellator
in interface Globe
public 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 |