Members

(constant) ARCSECONDS_TO_RADIANS

(constant) AU_TO_METERS

IAU 1976 value

(constant) COMSIDE

First index is {NW,NE,SW,SE}, another one is {N,E,S,W}

(constant) DAYS_PER_JULIAN_CENTURY

Days in julian century.

(constant) DAYS_PER_JULIAN_YEAR

Days in julian year.

(constant) DEFAULT_MAX_NODES :number

Maximum created nodes count. The more nodes count the more memory usage. When the maximum node count is exceeded, memClear() will be called.

Type:
  • number
Default Value
  • 400

(constant) DEGREES

(constant) DEGREES_DOUBLE

(constant) DEGREES_TO_HOURS

(constant) EARTH_GRAVITATIONAL_PARAMETER

Earth gravitational parameter product of gravitational constant G and the mass M of the Earth.

(constant) HOURS_PER_DAY

Hours in day.

(constant) HOURS_TO_DEGREES

(constant) HOURS_TO_RADIANS

(constant) J2000

Julian date of 2000 year. Epoch.

(constant) J2000_OBLIQUITY

Angle between J2000 mean equator and the ecliptic plane. 23 deg 26' 21".448 (Seidelmann, Explanatory Supplement to the Astronomical Almanac (1992), eqn 3.222-1.

(constant) LOG2

(constant) MAX

(constant) MAX32

(constant) MAX_LAT :number

Max mercator latitude.

Type:
  • number

(constant) METERS_PER_UNIT :Record.<string, number>

Meters per unit lookup table.

Type:
  • Record.<string, number>

(constant) MILLISECONDS_PER_DAY

Milliseconds in day.

(constant) MILLISECONDS_PER_SECOND

Milliseconds in second.

(constant) MIN

(constant) MINUTES_PER_DAY

Minutes in day.

(constant) MINUTES_PER_HOUR

Minutes in hour.

(constant) MIN_LAT :number

Min mercator latitude.

Type:
  • number

(constant) MODIFIED_JULIAN_DATE_DIFFERENCE

Modified julian date difference.

Mat3

Mat3 factory.

Mat4

Mat4 factory.

(constant) NEIGHBOUR

First index is {N,E,S,W} and second is {NW,NE,SW,SE}

(constant) NOPSORD

Neighbos's opside array order. For example NW node by E side array index is 0, SE node by S side is 1.

(constant) ONE_BY_HOURS_PER_DAY

One by hours in day.

(constant) ONE_BY_MILLISECONDS_PER_DAY

One by milliseconds in day.

(constant) ONE_BY_MINUTES_PER_DAY

One by minutes in day.

(constant) ONE_BY_POLE_DOUBLE :number

One by mercator double size.

Type:
  • number

(constant) ONE_BY_SECONDS_PER_DAY

One by seconds in day.

(constant) ONE_BY_SECONDS_PER_HOUR

One by seconds in hour.

(constant) ONE_BY_SECONDS_PER_MINUTE

One by seconds in minute.

(constant) OPPART

Neighbor's oposite part. For example oposite side on the east neighbor side is: [S][SE] = NE

(constant) OPSIDE

World opposite side table.

(constant) PARTOFFSET

Gets segment part left to right or up to downo ffset against neighbour side. Where 0 - no offset 1 - half segment size offset.

(constant) PICOSECOND

Seconds in picoseconds.

(constant) PI_TWO

(constant) PLANET_NAME_PREFIX :string

Type:
  • string

(constant) POLE :number

Mercator size.

Type:
  • number

(constant) POLE_DOUBLE :number

Double mercator size.

Type:
  • number

(constant) RADIANS

(constant) RADIANS_HALF

(constant) RADIANS_TO_HOURS

(constant) SAFE

Point types

(constant) SECONDS_PER_12_HOURS

Seconds in 12 hours.

(constant) SECONDS_PER_DAY

Seconds in day.

(constant) SECONDS_PER_HOUR

Seconds in hour.

(constant) SECONDS_PER_MILLISECOND

Seconds in millisecond.

(constant) SECONDS_PER_MINUTE

Seconds in minute.

(constant) SQRT_HALF

(constant) STR2ALIGN :number

Text align options.

Type:
  • number
Properties
NameTypeDescription
leftnumber
rightnumber
centernumber

(constant) SUN_GRAVITATIONAL_PARAMETER

Sun gravitational parameter product of gravitational constant G and the mass M of the Sun.

(constant) TDT_TAI

Terrestrial and atomic time difference.

(constant) TRACK

drawData index names

(constant) TWO_PI

(constant) Units :string

Projection units: 'degrees', 'ft', 'm' or 'km'.

Type:
  • string
Properties
NameTypeDescription
DEGREESstring
FEETstring
METERSstring
KILOMETERSstring

_currPickingColor :Array.<number>

Stores current picking rgb color.

Type:
  • Array.<number>

_prevPickingColor :Array.<number>

Stores previous picked rgb color.

Type:
  • Array.<number>

(constant) mars :Ellipsoid

Mars ellipsoid object.

(constant) moon :Ellipsoid

Moon ellipsoid object.

(constant) visibleExtent

Deprecated
  • Yes

(constant) wgs84 :Ellipsoid

WGS84 ellipsoid object.

Methods

DEG2RAD(degrees) → {number}

Converts degrees value to radians.

Parameters:
NameTypeDescription
degreesnumber

Degree value.

Returns:
Type: 
number

DateToTAI(date) → {JulianDate}

Converts javascript date to the atomic(TAI) julian date.

Parameters:
NameTypeDescription
dateDate

Date.

Returns:

TAI julian date

Type: 
JulianDate

DateToUTC(date) → {JulianDate}

Converts javascript date to the universal(UTC) julian date.

Parameters:
NameTypeDescription
dateDate

Date.

Returns:

UTC julian date

Type: 
JulianDate

Quat(xopt, yopt, zopt, wopt) → {Quat}

Creates Quat instance.

Parameters:
NameTypeAttributesDefaultDescription
xNumber<optional>
0.0

The X component.

yNumber<optional>
0.0

The Y component.

zNumber<optional>
0.0

The Z component.

wNumber<optional>
0.0

The W component.

Returns:
Type: 
Quat

RAD2DEG(angle) → {number}

Converts radians value to degrees.

Parameters:
NameTypeDescription
anglenumber

Degree value.

Returns:
Type: 
number

T(jd) → {number}

Returns julian days from Epoch.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

Returns:

Days from epoch

Type: 
number

TAItoDate(tai) → {Date}

Converts TAI julian date to the javascript date object.

Parameters:
NameTypeDescription
taiJulianDate

TAI julian date.

Returns:

JavaScript Date object

Type: 
Date

TAItoTDB(tai) → {JulianDate}

Converts atomic time to barycentric dynamical time.

Parameters:
NameTypeDescription
taiJulianDate

Atomic time.

Returns:
  • returns barycentric dynamical time.
Type: 
JulianDate

TAItoUTC(tai) → {JulianDate|undefined}

Converts atomic julian date(TAI) to the coordinated universal(UTC) julian date.

Parameters:
NameTypeDescription
taiJulianDate

TAI julian date.

Returns:

UTC julian date

Type: 
JulianDate | undefined

UTCtoDate(utc) → {Date}

Converts UTC julian date to the javascript date object.

Parameters:
NameTypeDescription
utcJulianDate

UTC julian date.

Returns:

JavaScript Date object

Type: 
Date

UTCtoTAI(jd) → {JulianDate}

Converts coordinated universal(UTC) julian date to atomic(TAI) julian date.

Parameters:
NameTypeDescription
jdJulianDate

UTC julian date.

Returns:

TAI julian date

Type: 
JulianDate

Vec2(xopt, yopt) → {Vec2}

Vector 2d object creator.

Parameters:
NameTypeAttributesDescription
xnumber<optional>

First value.

ynumber<optional>

Second value.

Returns:
Type: 
Vec2

Vec3(xopt, yopt, zopt) → {Vec3}

Vector 3d object creator.

Parameters:
NameTypeAttributesDescription
xnumber<optional>

Value X.

ynumber<optional>

Value Y.

znumber<optional>

Value Z.

Returns:
Type: 
Vec3

Vec4(xopt, yopt, zopt, wopt) → {Vec4}

Vector 4d object creator.

Parameters:
NameTypeAttributesDescription
xnumber<optional>

First value.

ynumber<optional>

Second value.

znumber<optional>

Third value.

wnumber<optional>

Fourth value.

Returns:
Type: 
Vec4

_entitiesConstructor(entities) → {Array.<Entity>}

Creates entity instance array.

Parameters:
NameTypeDescription
entitiesArray.<Entity> | Array.<IEntityParams>

Entity array.

Returns:
  • Entity array.
Type: 
Array.<Entity>

addDays(jd, days) → {JulianDate}

Adds days to the julian date.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

daysnumber

Days to add.

Returns:

Julian date

Type: 
JulianDate

addHours(jd, hours) → {JulianDate}

Adds hours to the julian date.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

hoursnumber

Hours to add.

Returns:

Julian date

Type: 
JulianDate

addMilliseconds(jd, milliseconds) → {JulianDate}

Adds milliseconds to the julian date.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

millisecondsnumber

Milliseconds to add.

Returns:

Julian date

Type: 
JulianDate

addMinutes(jd, minutes) → {JulianDate}

Adds minutes to the julian date.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

minutesnumber

Minutes to add.

Returns:

Julian date

Type: 
JulianDate

addSeconds(jd, seconds) → {JulianDate}

Adds seconds to the julian date.

Parameters:
NameTypeDescription
jdJulianDate

Julian date.

secondsnumber

Seconds to add.

Returns:

Julian date

Type: 
JulianDate

bezier3v(t, p0, p1, p2, p3) → {Vec3}

Performs a 3D bezier interpolation.

Parameters:
NameTypeDescription
tnumber

Interpolation value.

p0Vec3

First control point.

p1Vec3

Second control point.

p2Vec3

Third control point.

p3Vec3

Fourth control point.

Returns:
Type: 
Vec3

clamp(value, min, max) → {number}

Clamp the number.

Parameters:
NameTypeDescription
valuenumber

Input number.

minnumber

Minimal edge.

maxnumber

Maximal edge.

Returns:
Type: 
number
Example
clamp(12, 1, 5)
//returns 5

daysToSeconds(d) → {number}

Returns seconds in days.

Parameters:
NameTypeDescription
dnumber

Days.

Returns:

Seconds

Type: 
number

degToDec(d, m, s, popt) → {number}

Converts degrees value to decimal.

Parameters:
NameTypeAttributesDescription
dnumber

Degrees.

mnumber

Minutes.

snumber

Seconds.

pboolean<optional>

Positive flag. False - default.

Returns:
Type: 
number

exp2(n) → {number}

Returns two power of n.

Parameters:
NameTypeDescription
nnumber

Power value.

Returns:
Type: 
number

forwardArray(lonlatArr) → {Array.<LonLat>}

Converts geodetic coordinate array to mercator coordinate array.

Parameters:
NameTypeDescription
lonlatArrArray.<LonLat>

LonLat array to convert.

Returns:

Converted mercator coordinates.

Type: 
Array.<LonLat>

forward_lat(lat) → {number}

Converts degrees latitude to mercator coordinate.

Parameters:
NameTypeDescription
latnumber

Degrees geodetic latitude.

Returns:
Type: 
number

forward_lon(lon) → {number}

Converts degrees longitude to mercator coordinate.

Parameters:
NameTypeDescription
lonnumber

Degrees geodetic longitude.

Returns:
Type: 
number

frac(x) → {number}

The frac function returns the fractional part of x, i.e. x minus floor(x).

Parameters:
NameTypeDescription
xnumber

Input value.

Returns:
Type: 
number

getAngleBetweenAzimuths(a, b) → {number}

Returns angle between two azimuths

Parameters:
NameTypeDescription
anumber

First azimuth angle

bnumber

Second azimuth angle

Returns:
Type: 
number

getAngleDirection(a, b) → {number}

Parameters:
NameTypeDescription
a

First bearing angle

b

Second bearing angle

Returns:
Type: 
number

getDayNumber(year, month, day) → {number}

Gets the date's julian day.

Parameters:
NameTypeDescription
yearnumber

Year.

monthnumber

Month.

daynumber

Day.

Returns:

Day number

Type: 
number

getDays(jd) → {number}

Gets days of a julian date.

Parameters:
NameTypeDescription
jdJulianDate

julian date.

Returns:

Days

Type: 
number

getHours(jd) → {number}

Gets hours of a julian date.

Parameters:
NameTypeDescription
jdJulianDate

julian date.

Returns:

Hours

Type: 
number

getMilliseconds(jd) → {number}

Gets milliseconds of a julian date.

Parameters:
NameTypeDescription
jdJulianDate

julian date.

Returns:

Milliseconds

Type: 
number

getMinutes(jd) → {number}

Gets minutes of a julian date.

Parameters:
NameTypeDescription
jdJulianDate

julian date.

Returns:

Minutes

Type: 
number

getSeconds(jd) → {number}

Gets seconds of a julian date.

Parameters:
NameTypeDescription
jdJulianDate

julian date.

Returns:

Seconds

Type: 
number

getSunPosition(jDate) → {Vec3}

Returns Sun position in the geocentric coordinate system by the time.

Parameters:
NameTypeDescription
jDateJulianDate

Julian date time.

Returns:
  • Sun geocentric coordinates.
Type: 
Vec3

getTileX(lon, zoom) → {number}

Returns mercator map tile grid horizontal coordinate index by geodetic longitude and zoom level. Where top left corner of the grid is 0 coordinate index.

Parameters:
NameTypeDescription
lonnumber

Geodetic degrees longitude.

zoomnumber

Zoom level.

Returns:
Type: 
number

getTileY(lat, zoom) → {number}

Returns mercator map tile grid vertical coordinate index by geodetic latitude and zoom level. Where top left corner of the grid is 0 coordinate index.

Parameters:
NameTypeDescription
latnumber

Geodetic degrees latitude.

zoomnumber

Zoom level.

Returns:
Type: 
number

inverse_lat(lat) → {number}

Converts mercator latitude to degrees coordinate.

Parameters:
NameTypeDescription
latnumber

Mercator latitude.

Returns:
Type: 
number

inverse_lon(lon) → {number}

Converts mercator longitude to degrees coordinate.

Parameters:
NameTypeDescription
lonnumber

Mercator longitude.

Returns:
Type: 
number

isPowerOfTwo(x) → {boolean}

Check the number is a power of two.

Parameters:
NameTypeDescription
xnumber

Input value.

Returns:
Type: 
boolean

lerp(t, h1, h0) → {number}

Performs a linear interpolation.

Parameters:
NameTypeDescription
tnumber

A value that linearly interpolates between the h0 parameter and the h1 parameter.

h1number

End value.

h0number

Start value.

Returns:
Type: 
number

log(n, base) → {number}

The log function returns the power to which the base value has to be raised to produce n.

Parameters:
NameTypeDescription
nnumber

Produce value.

basenumber

Base value.

Returns:
Type: 
number
Example
log(64, 2)
//returns 6

log2(x) → {number}

Returns Math.log(x) / Math.log(2)

Parameters:
NameTypeDescription
xnumber

Input value.

Returns:
Type: 
number

mod(m, n) → {number}

The modulo operation that also works for negative dividends.

Parameters:
NameTypeDescription
mnumber

The dividend.

nnumber

The divisor.

Returns:

The remainder.

Type: 
number

negativePItoPI(a) → {number}

Returns an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.

Parameters:
NameTypeDescription
anumber

Angle in radians.

Returns:
Type: 
number

nextHighestPowerOfTwo(x, maxValueopt) → {number}

Returns next value that is power of two.

Parameters:
NameTypeAttributesDefaultDescription
xnumber

Input value.

maxValuenumber<optional>
4096

Maximal value.

Returns:
Type: 
number

norm_lon(lon) → {number}

Clamp longitude within: -180 to +180 degrees.

Parameters:
NameTypeDescription
lonnumber

Longitude.

Returns:
Type: 
number

pow2i(n) → {number}

Returns two power of integer n.

Parameters:
NameTypeDescription
nnumber

Integer power value.

Returns:
Type: 
number

random(minopt, maxopt) → {number}

Returns random number within the bounds.

Parameters:
NameTypeAttributesDefaultDescription
minnumber<optional>
0

Minimal bound.

maxnumber<optional>
1

Maximal bound.

Returns:
Type: 
number

randomi(min, max) → {number}

Returns random integer number within the bounds.

Parameters:
NameTypeDefaultDescription
minnumber0

Minimal bound.

maxnumber1

Maximal bound.

Returns:
Type: 
number

rev(x) → {number}

Clamp angle value within 360.

Parameters:
NameTypeDescription
xnumber

Input angle.

Returns:
Type: 
number

secondsToDays(s) → {number}

Returns days in seconds.

Parameters:
NameTypeDescription
snumber

Seconds.

Returns:

Days

Type: 
number

slice(t, h1, h0) → {number}

Returns a slice of linear interpolation t * (h1 - h0)

Parameters:
NameTypeDescription
tnumber

A value that linearly interpolates between the h0 parameter and the h1 parameter.

h1number

End value.

h0number

Start value.

Returns:
Type: 
number

solve_iteration(f, x0, err, maxIter) → {number}

Solve using iteration; terminate when error is below err or the maximum number of iterations is reached. Used in Euler's equation(see og.orbit) solving.

Parameters:
NameTypeDefaultDescription
ffunction

Equation.

x0number

First approximation.

errnumber

Maximal accepted error value.

maxIternumber50

Maximum iterations.

Returns:
  • The computed solution.
Type: 
number

solve_iteration_fixed(f, x0, maxIter) → {number}

Solve using iteration method and a fixed number of steps.

Parameters:
NameTypeDescription
ffunction

Equation. Used in Euler's equation(see og.orbit) solving.

x0number

First approximation.

maxIternumber

Maximum iterations.

Returns:
Type: 
number

step(edge, x) → {number}

Returns 0.0 if x is smaller than edge and otherwise 1.0.

Parameters:
NameTypeDescription
edgenumber
xnumber

Value to edge.

Returns:
Type: 
number

toKeyField()

Converts a nullable key component into a stable string field.

Used by texture resource keys to make absent/default GPU parameters explicit.

Examples:

  • toKeyField("fmt", undefined) => "fmt:default"
  • toKeyField("wrap", null) => "wrap:default"
  • toKeyField("mime", "image/png") => "mime:image/png"

The "default" value means that the texture will be created using the default behavior of Handler.createTextureDefault(...) for this parameter.

zeroTwoPI(a) → {number}

Returns an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.

Parameters:
NameTypeDescription
anumber

Angle in radians

Returns:
Type: 
number

Type Definitions

ExtentBoundingBox

Type:
  • Array.<number>

HandlerEventType

Type:
  • "visibilitychange" | "resize"

QuatAxisAngle

Type:
  • Object
Properties
NameTypeDescription
axisVec3

The rotation axis.

anglenumber

The rotation angle in radians.

Events

#load

Triggered when current tile image has loaded before rendering.

#loadend

Triggered when all tiles have loaded or loading has stopped.

baselayerchange

Triggered when the base layer changes.

changerelativecenter

Triggered when a relative center is changed

doubletouch

Triggered when double touch.

draw

Triggered before the scene frame is rendered (before render nodes).

draw

Triggered before globe frame begins to render.

forwardpass

Triggered for forward pass

forwardpass

Triggered after all

gbufferpass

Triggered for deferred opaque geometry pass

layeradd

Triggered when a layer is added to the planet.

layerloadend

Triggered when layer data finishes loading.

layerremove

Triggered when a layer is removed from the planet.

layervisibilitychange

Triggered when layer visibility changes.

lclick

Mouse left button clicked.

ldblclick

Mouse left button double-click.

ldown

Mouse left button is just pressed down (start pressing).

lhold

Mouse left button is pressing.

load

Triggered when the current tile image has loaded before rendering.

loadend

Triggered when all tiles have loaded or loading has stopped.

lup

Mouse left button up (stop pressing).

mclick

Mouse middle button clicked.

mdblclick

Mouse middle button double click.

mdown

Mouse middle button is just pressed down (start pressing).

mhold

Mouse middle button is pressing.

mouseenter

Mouse enters the work screen

mouseleave

Mouse leaves the work screen

mousemove

Mouse is moving.

mousestop

Mouse is just stopped.

mousewheel

Mouse wheel is rotated.

mup

Mouse the middle button up (stop pressing).

postdraw

Triggered after a scene frame is rendered (after render nodes).

projchanged

Triggered when camera projection is changed

rclick

Mouse right button clicked.

rdblclick

Mouse right button double click.

rdown

Mouse right button is just pressed down (start pressing).

rendercompleted

Triggered when all data is loaded.

resize

Triggered when the screen is resized.

resizeend

Triggered when the screen is resized.

rhold

Mouse right button is pressing.

rup

Mouse the right button up (stop pressing).

terraincompleted

Triggered when all terrain data is loaded.

touchcancel

Triggered when touching cancel.

touchend

Triggered when touching ends.

touchenter

Triggered when touch enter picking an object.

touchleave

Triggered when touch leaves a picked object.

touchmove

Triggered when touch is move.

touchstart

Triggered when touching starts.

transparentpass

Triggered for WOIT (transparency) pass