Constructor
new Globe2D()
Constructs a 2D globe with a default ElevationModel and
equirectangular projection.
- Source:
Extends
Members
(readonly) continuous :Boolean
Indicates whether this globe is 2D and continuous with itself -- that it should scroll continuously
horizontally.
Type:
- Boolean
- Inherited From:
- Source:
eccentricitySquared :Number
This globe's eccentricity squared.
Type:
- Number
- Inherited From:
- Default Value:
- WGS 84 first eccentricity squared (6.694379990141e-3). Taken from NGA.STND.0036_1.0.0_WGS84, section 3.3.
- Source:
elevationModel :ElevationModel
This globe's elevation model.
Type:
- Inherited From:
- Source:
equatorialRadius :Number
This globe's equatorial radius in meters.
Type:
- Number
- Inherited From:
- 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:
- Number
- Inherited From:
- Source:
polarRadius :Number
This globe's polar radius in meters.
Type:
- Number
- Inherited From:
- Default Value:
- WGS 84 semi-minor axis (6356752.3142 meters). Taken from NGA.STND.0036_1.0.0_WGS84, section 3.2.
- Source:
projection :GeographicProjection
The projection used by this globe.
Type:
- Inherited From:
- Default Value:
- Source:
projectionLimits :Sector
The projection limits of the associated projection.
Type:
- Inherited From:
- 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:
- String
- Inherited From:
- Source:
tessellator :Tessellator
The tessellator used to create this globe's terrain.
Type:
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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.
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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.
- Inherited From:
- Source:
Returns:
true if this is a 2D globe, otherwise false.
- Type
- Boolean
maxElevation() → {Number}
Returns this globe's maximum elevation.
- Inherited From:
- 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. |
- Inherited From:
- 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.
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- 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. |
- Inherited From:
- Source:
Throws:
-
If the specified result argument is null or undefined.
- Type
- ArgumentError
Returns:
The specified result vector.
- Type
- Vec3