Constructor
new Globe(elevationModel, projection)
Constructs an ellipsoidal Globe with default radii for Earth (WGS84).
Parameters:
Name |
Type |
Description |
elevationModel |
ElevationModel
|
The elevation model to use for this globe. |
projection |
GeographicProjection
|
The projection to apply to the globe. May be null or undefined,
in which case no projection is applied and the globe is a WGS84 ellipsoid. |
- Source:
Throws:
-
If the specified elevation model is null or undefined.
-
-
Type
-
ArgumentError
Members
(readonly) continuous :Boolean
Indicates whether this globe is 2D and continuous with itself -- that it should scroll continuously
horizontally.
Type:
- Source:
eccentricitySquared :Number
This globe's eccentricity squared.
Type:
- Default Value:
- WGS 84 first eccentricity squared (6.694379990141e-3). Taken from NGA.STND.0036_1.0.0_WGS84, section 3.3.
- Source:
This globe's elevation model.
Type:
- Source:
equatorialRadius :Number
This globe's equatorial radius in meters.
Type:
- Default Value:
- WGS 84 semi-major axis (6378137.0 meters)
- Source:
offset :Number
An offset to apply to this globe when translating between Geographic positions and Cartesian points.
Used during scrolling to position points appropriately.
Applications typically do not access this property. It is used by the associated globe.
Type:
- Source:
polarRadius :Number
This globe's polar radius in meters.
Type:
- Default Value:
- WGS 84 semi-minor axis (6356752.3142 meters). Taken from NGA.STND.0036_1.0.0_WGS84, section 3.2.
- Source:
The projection used by this globe.
Type:
- Default Value:
- Source:
projectionLimits :Sector
The projection limits of the associated projection.
Type:
- Source:
(readonly) stateKey :String
A string identifying this globe's current state. Used to compare states during rendering to
determine whether globe-state dependent cached values must be updated. Applications typically do not
interact with this property.
Type:
- Source:
The tessellator used to create this globe's terrain.
Type:
- Source:
Methods
computePointFromLocation(latitude, longitude, result) → {Vec3}
Computes a Cartesian point from a specified location.
See this class' Overview section for a description of the Cartesian coordinate system used.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The position's latitude. |
longitude |
Number
|
The position's longitude. |
result |
Vec3
|
A reference to a pre-allocated Vec3 in which to return the computed X,
Y and Z Cartesian coordinates. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The result argument.
-
Type
-
Vec3
computePointFromPosition(latitude, longitude, altitude, result) → {Vec3}
Computes a Cartesian point from a specified position.
See this class' Overview section for a description of the Cartesian coordinate system used.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The position's latitude. |
longitude |
Number
|
The position's longitude. |
altitude |
Number
|
The position's altitude. |
result |
Vec3
|
A reference to a pre-allocated Vec3 in which to return the computed X,
Y and Z Cartesian coordinates. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The result argument.
-
Type
-
Vec3
computePointsForGrid(sector, numLat, numLon, elevations, referencePoint, result) → {Float32Array}
Computes a grid of Cartesian points within a specified sector and relative to a specified Cartesian
reference point.
This method is used to compute a collection of points within a sector. It is used by tessellators to
efficiently generate a tile's interior points. The number of points to generate is indicated by the numLon
and numLat parameters.
For each implied position within the sector, an elevation value is specified via an array of elevations. The
calculation at each position incorporates the associated elevation. There must be numLat x numLon elevations
in the array.
Parameters:
Name |
Type |
Description |
sector |
Sector
|
The sector for which to compute the points. |
numLat |
Number
|
The number of latitudinal points in the grid. |
numLon |
Number
|
The number of longitudinal points in the grid. |
elevations |
Array.<Number>
|
An array of elevations to incorporate in the point calculations. There must be
one elevation value in the array for each generated point. Elevations are in meters. There must be
numLat x numLon elevations in the array. |
referencePoint |
Vec3
|
The X, Y and Z Cartesian coordinates to subtract from the computed coordinates.
This makes the computed coordinates relative to the specified point. |
result |
Float32Array
|
A typed array to hold the computed coordinates. It must be at least of
size numLat x numLon. The points are returned in row major order, beginning with the row of minimum latitude. |
- Source:
Throws:
-
if the specified sector, elevations array or results arrays are null or undefined, or
if the lengths of any of the arrays are insufficient.
-
-
Type
-
ArgumentError
Returns:
The specified result argument.
-
Type
-
Float32Array
computePositionFromPoint(x, y, z, result) → {Position}
Computes a geographic position from a specified Cartesian point.
See this class' Overview section for a description of the Cartesian coordinate system used.
Parameters:
Name |
Type |
Description |
x |
Number
|
The X coordinate. |
y |
Number
|
The Y coordinate. |
z |
Number
|
The Z coordinate. |
result |
Position
|
A pre-allocated Position instance in which to return the computed position. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The specified result position.
-
Type
-
Position
elevationAtLocation(latitude, longitude) → {Number}
Returns the elevation at a specified location.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The location's latitude in degrees. |
longitude |
Number
|
The location's longitude in degrees. |
- Source:
Returns:
The elevation at the specified location, in meters. Returns zero if the location is
outside the coverage area of this elevation model.
-
Type
-
Number
elevationsForGrid(sector, numLat, numLon, targetResolution, result) → {Number}
Returns the elevations at locations within a specified sector.
Parameters:
Name |
Type |
Description |
sector |
Sector
|
The sector for which to determine the elevations. |
numLat |
Number
|
The number of latitudinal sample locations within the sector. |
numLon |
Number
|
The number of longitudinal sample locations within the sector. |
targetResolution |
Number
|
The desired elevation resolution, in degrees. (To compute degrees from
meters, divide the number of meters by the globe's radius to obtain radians and convert the result to degrees.) |
result |
Array.<Number>
|
An array in which to return the requested elevations. |
- Source:
Throws:
-
If the specified sector or result array is null or undefined, or if either of the
specified numLat or numLon values is less than one.
-
-
Type
-
ArgumentError
Returns:
The resolution actually achieved, which may be greater than that requested if the
elevation data for the requested resolution is not currently available.
-
Type
-
Number
elevationTimestamp() → {Number}
Returns the time at which any elevations associated with this globe last changed.
- Source:
Returns:
The time in milliseconds relative to the Epoch of the most recent elevation change.
-
Type
-
Number
intersectsFrustum(frustum) → {Boolean}
Indicates whether this globe intersects a specified frustum.
Parameters:
Name |
Type |
Description |
frustum |
Frustum
|
The frustum to test. |
- Source:
Throws:
-
If the specified frustum is null or undefined.
-
-
Type
-
ArgumentError
Returns:
true if this globe intersects the frustum, otherwise false.
-
Type
-
Boolean
intersectsLine(line, result) → {boolean}
Computes the first intersection of this globe with a specified line. The line is interpreted as a ray;
intersection points behind the line's origin are ignored.
Parameters:
Name |
Type |
Description |
line |
Line
|
The line to intersect with this globe. |
result |
Vec3
|
A pre-allocated Vec3 in which to return the computed point. |
- Source:
Throws:
-
If the specified line or result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
true If the ray intersects the globe, otherwise false.
-
Type
-
boolean
is2D() → {Boolean}
Indicates whether this is a 2D globe.
- Source:
Returns:
true if this is a 2D globe, otherwise false.
-
Type
-
Boolean
maxElevation() → {Number}
Returns this globe's maximum elevation.
- Source:
Returns:
This globe's maximum elevation.
-
Type
-
Number
minAndMaxElevationsForSector(sector) → {Array.<Number>}
Returns the minimum and maximum elevations within a specified sector of this globe.
Parameters:
Name |
Type |
Description |
sector |
Sector
|
The sector for which to determine extreme elevations. |
- Source:
Throws:
-
If the specified sector is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The An array containing the minimum and maximum elevations.
-
Type
-
Array.<Number>
minElevation() → {Number}
Returns this globe's minimum elevation.
- Source:
Returns:
This globe's minimum elevation.
-
Type
-
Number
northTangentAtLocation(latitude, longitude, result) → {Vec3}
Computes the north-pointing tangent vector to this globe's surface at a specified location.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The location's latitude. |
longitude |
Number
|
The location's longitude. |
result |
Vec3
|
A pre-allocated Vec3 instance in which to return the computed vector. The returned
tangent vector is unit length. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The specified result vector.
-
Type
-
Vec3
northTangentAtPoint(x, y, z, result) → {Vec3}
Computes the north-pointing tangent vector to this globe's surface at a specified Cartesian point.
Parameters:
Name |
Type |
Description |
x |
Number
|
The point's X coordinate. |
y |
Number
|
The point's Y coordinate. |
z |
Number
|
The point's Z coordinate. |
result |
Vec3
|
A pre-allocated Vec3 instance in which to return the computed vector. The returned
tangent vector is unit length. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The specified result vector.
-
Type
-
Vec3
radiusAt(latitude, longitude) → {Number}
Computes the radius of this globe at a specified location.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The locations' latitude. |
longitude |
Number
|
The locations' longitude. |
- Source:
Returns:
The radius at the specified location.
-
Type
-
Number
surfaceNormalAtLocation(latitude, longitude, result) → {Vec3}
Computes the normal vector to this globe's surface at a specified location.
Parameters:
Name |
Type |
Description |
latitude |
Number
|
The location's latitude. |
longitude |
Number
|
The location's longitude. |
result |
Vec3
|
A pre-allocated Vec3 instance in which to return the computed vector. The returned
normal vector is unit length. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The specified result vector. The returned normal vector is unit length.
-
Type
-
Vec3
surfaceNormalAtPoint(x, y, z, result) → {Vec3}
Computes the normal vector to this globe's surface at a specified Cartesian point.
Parameters:
Name |
Type |
Description |
x |
Number
|
The point's X coordinate. |
y |
Number
|
The point's Y coordinate. |
z |
Number
|
The point's Z coordinate. |
result |
Vec3
|
A pre-allocated Vec3 instance in which to return the computed vector. The returned
normal vector is unit length. |
- Source:
Throws:
-
If the specified result argument is null or undefined.
-
-
Type
-
ArgumentError
Returns:
The specified result vector.
-
Type
-
Vec3