|
NASA World Wind | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.worldwind.geom.Sector
public class Sector
Sector
represents a rectangular reqion of latitude and longitude. The region is defined by four angles:
its minimum and maximum latitude, its minimum and maximum longitude. The angles are assumed to be normalized to +/-
90 degrees latitude and +/- 180 degrees longitude. The minimums and maximums are relative to these ranges, e.g., -80
is less than 20. Behavior of the class is undefined for angles outside these ranges. Normalization is not performed
on the angles by this class, nor is it verifed by the class' methods. See Angle
for a description of
specifying angles.
Sector
instances are immutable.
Angle
Field Summary | |
---|---|
static Sector |
EMPTY_SECTOR
|
static Sector |
FULL_SPHERE
A Sector of latitude [-90 degrees, + 90 degrees] and longitude [-180 degrees, + 180 degrees]. |
Constructor Summary | |
---|---|
Sector(Angle minLatitude,
Angle maxLatitude,
Angle minLongitude,
Angle maxLongitude)
Creates a new Sector and initializes it to the specified angles. |
|
Sector(Sector sector)
|
Method Summary | |
---|---|
static Sector |
boundingSector(Iterator<TrackPoint> positions)
|
static Sector |
boundingSector(Position pA,
Position pB)
|
static Sector |
boundingSectorfromLatLons(Iterable<LatLon> positions)
|
static Sector |
boundingSectorfromPositions(Iterable<Position> positions)
|
int |
compareTo(Sector that)
Compares this sector to a specified sector according to their minimum latitude, minimum longitude, maximum latitude, and maximum longitude, respectively. |
static Extent |
computeBoundingSphere(Globe globe,
double verticalExaggeration,
Sector sector)
Returns a sphere that minimally surrounds the sector at a specified vertical exaggeration. |
Vec4 |
computeCenterPoint(Globe globe)
|
Vec4[] |
computeCornerPoints(Globe globe)
|
boolean |
contains(Angle latitude,
Angle longitude)
|
boolean |
contains(LatLon latLon)
Determines whether a latitude/longitude position is within the sector. |
boolean |
containsDegrees(double degreesLatitude,
double degreesLongitude)
|
boolean |
containsRadians(double radiansLatitude,
double radiansLongitude)
Determines whether a latitude/longitude postion expressed in radians is within the sector. |
boolean |
equals(Object o)
Tests the equality of the sectors' angles. |
static Sector |
fromDegrees(double minLatitude,
double maxLatitude,
double minLongitude,
double maxLongitude)
Creates a new Sector and initializes it to the specified angles. |
static Sector |
fromRadians(double minLatitude,
double maxLatitude,
double minLongitude,
double maxLongitude)
Creates a new Sector and initializes it to the specified angles. |
LatLon |
getCentroid()
Returns the latitude and longitude of the sector's angular center: (minimum latitude + maximum latitude) / 2, (minimum longitude + maximum longitude) / 2. |
Angle |
getDeltaLat()
Returns the angular difference between the sector's minimum and maximum latitudes: max - min |
double |
getDeltaLatDegrees()
|
double |
getDeltaLatRadians()
|
Angle |
getDeltaLon()
Returns the angular difference between the sector's minimum and maximum longitudes: max - min. |
double |
getDeltaLonDegrees()
|
double |
getDeltaLonRadians()
|
Angle |
getMaxLatitude()
Returns the sector's maximum latitude. |
Angle |
getMaxLongitude()
Returns the sector's maximum longitude. |
Angle |
getMinLatitude()
Returns the sector's minimum latitude. |
Angle |
getMinLongitude()
Returns the sector's minimum longitude. |
long |
getSizeInBytes()
Retrieve the size of this object in bytes. |
int |
hashCode()
Computes a hash code from the sector's four angles. |
Sector |
intersection(Angle latitude,
Angle longitude)
|
Sector |
intersection(Sector that)
|
boolean |
intersects(Sector that)
Determines whether this sector intersects another sector's range of latitude and longitude. |
Sector[] |
subdivide()
|
String |
toString()
Returns a string indicating the sector's angles. |
Sector |
union(Angle latitude,
Angle longitude)
|
Sector |
union(Sector that)
Returns a new sector whose angles are the extremes of the this sector and another. |
static Sector |
union(Sector sectorA,
Sector sectorB)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final Sector EMPTY_SECTOR
public static final Sector FULL_SPHERE
Sector
of latitude [-90 degrees, + 90 degrees] and longitude [-180 degrees, + 180 degrees].
Constructor Detail |
---|
public Sector(Angle minLatitude, Angle maxLatitude, Angle minLongitude, Angle maxLongitude)
Sector
and initializes it to the specified angles. The angles are assumed to be
normalized to +/- 90 degrees latitude and +/- 180 degrees longitude, but this method does not verify that.
minLatitude
- the sector's minimum latitude.maxLatitude
- the sector's maximum latitude.minLongitude
- the sector's minimum longitude.maxLongitude
- the sector's maximum longitude.
IllegalArgumentException
- if any of the angles are nullpublic Sector(Sector sector)
Method Detail |
---|
public static Sector boundingSector(Iterator<TrackPoint> positions)
public static Sector boundingSector(Position pA, Position pB)
public static Sector boundingSectorfromLatLons(Iterable<LatLon> positions)
public static Sector boundingSectorfromPositions(Iterable<Position> positions)
public int compareTo(Sector that)
compareTo
in interface Comparable<Sector>
that
- the Sector
to compareTo with this
.
IllegalArgumentException
- if that
is nullpublic static Extent computeBoundingSphere(Globe globe, double verticalExaggeration, Sector sector)
globe
- the globe the sector is associated withverticalExaggeration
- the vertical exaggeration to apply to the globe's elevations when computing the
sphere.sector
- the sector to return the bounding sphere for.
IllegalArgumentException
- if globe
or sector
is nullpublic Vec4 computeCenterPoint(Globe globe)
public Vec4[] computeCornerPoints(Globe globe)
public final boolean contains(Angle latitude, Angle longitude)
public final boolean contains(LatLon latLon)
latLon
- the position to test, with angles normalized to +/- π latitude and +/- 2π longitude.
true
if the position is within the sector, false
otherwise.
IllegalArgumentException
- if latlon
is null.public final boolean containsDegrees(double degreesLatitude, double degreesLongitude)
public final boolean containsRadians(double radiansLatitude, double radiansLongitude)
radiansLatitude
- the latitude in radians of the position to test, normalized +/- π.radiansLongitude
- the longitude in radians of the position to test, normalized +/- 2π.
true
if the position is within the sector, false
otherwise.public boolean equals(Object o)
equals
in class Object
o
- the sector to compareTo with this
.
true
if the four corresponding angles of each sector are equal, false
otherwise.public static Sector fromDegrees(double minLatitude, double maxLatitude, double minLongitude, double maxLongitude)
Sector
and initializes it to the specified angles. The angles are assumed to be
normalized to +/- 90 degrees latitude and +/- 180 degrees longitude, but this method does not verify that.
minLatitude
- the sector's minimum latitude in degrees.maxLatitude
- the sector's maximum latitude in degrees.minLongitude
- the sector's minimum longitude in degrees.maxLongitude
- the sector's maximum longitude in degrees.
Sector
public static Sector fromRadians(double minLatitude, double maxLatitude, double minLongitude, double maxLongitude)
Sector
and initializes it to the specified angles. The angles are assumed to be
normalized to +/- ¹/2 radians latitude and +/- ¹ radians longitude, but this method does not verify
that.
minLatitude
- the sector's minimum latitude in radians.maxLatitude
- the sector's maximum latitude in radians.minLongitude
- the sector's minimum longitude in radians.maxLongitude
- the sector's maximum longitude in radians.
Sector
public final LatLon getCentroid()
public final Angle getDeltaLat()
public final double getDeltaLatDegrees()
public final double getDeltaLatRadians()
public final Angle getDeltaLon()
public final double getDeltaLonDegrees()
public final double getDeltaLonRadians()
public final Angle getMaxLatitude()
public final Angle getMaxLongitude()
public final Angle getMinLatitude()
public final Angle getMinLongitude()
public long getSizeInBytes()
getSizeInBytes
in interface Cacheable
public int hashCode()
hashCode
in class Object
public final Sector intersection(Angle latitude, Angle longitude)
public final Sector intersection(Sector that)
public boolean intersects(Sector that)
that
- the sector to test for intersection.
true
if the sectors intersect, otherwise false
.public final Sector[] subdivide()
public String toString()
toString
in class Object
public final Sector union(Angle latitude, Angle longitude)
public final Sector union(Sector that)
that
- the sector to join with this
.
this
if the incoming sector is
null
.public static Sector union(Sector sectorA, Sector sectorB)
|
NASA World Wind | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |