OrbPro2 a Cesium distribution

PropagatedPositionProperty

new Cesium.PropagatedPositionProperty(propagatorPlugin, entityIndex, options)

A position property backed by a WASM propagator plugin. Extends the SampledPositionProperty interface so that PathVisualizer can detect it via `instanceof SampledPositionProperty` and use advanced adaptive sampling (true anomaly stepping, epoch hypersampling).
Name Type Description
propagatorPlugin object | string | number The initialized propagator plugin, or a propagator name/id from Propagators.
entityIndex number The entity index within the propagator.
options object optional Options.
Name Type Default Description
referenceFrame ReferenceFrame ReferenceFrame.FIXED optional The native reference frame of the propagator output.
Example:
const propagator = new Cesium.PropagatorPlugin(plugin);
await propagator.initFromOMM(ommArray);
const position = new Cesium.PropagatedPositionProperty(propagator, 0);
entity.position = position;

Members

Coverage end in Julian Days.
Coverage start in Julian Days.
The entity index within the propagator.
Orbital period in seconds.
The propagator plugin backing this property.
Velocity property using native WASM velocity output. SGP4 computes position and velocity in a single call — the velocity is cached from the most recent propagation. No extra WASM calls needed.
The WASM entity handle for shared-buffer mode. When set, getValueInReferenceFrame reads directly from the wasm-engine HEAPF64 position buffer instead of calling the propagator.

Methods

static Cesium.PropagatedPositionProperty.getPropagator(nameOrId)object|undefined

Get a registered propagator by name or id.
Name Type Description
nameOrId string | number Registry key or id (e.g. "sgp4", 1).
Returns:
The propagator instance, or undefined if not registered.

static Cesium.PropagatedPositionProperty.getRegisteredPropagators()Object.<string, object>

Get all registered propagators as a name→instance map.
Returns:
Shallow copy of the registry.

static Cesium.PropagatedPositionProperty.registerPropagator(name, propagator, id)

Register a propagator plugin by name. Plugins with `type === "Propagator"` can be registered here so that any consumer can discover and swap backends without importing plugins directly.
Name Type Description
name string Registry key (e.g. "sgp4", "hpop").
propagator object Propagator instance (must have propagate, propagatePath, etc.).
id number optional Optional enum id. If omitted, uses existing id or auto-allocates from 256+.

static Cesium.PropagatedPositionProperty.unregisterPropagator(nameOrId)

Unregister a propagator by name or id.
Name Type Description
nameOrId string | number Registry key or id.
Add a single OMM to this entity's multi-OMM map. Delegates to the propagator's addOMM method.
Name Type Description
ommRecord Object OMM JSON object (SpaceDataStandards format).
Returns:
Epoch JD on success, -1 on error.
Clear all maneuver records and destroy transient backend sources.
Compares this property to the provided property.
Name Type Description
other Property optional The other property.
Returns:
True if the properties are equal.
Returns default lead/trail times for path visualization, computed from this property's orbital period and eccentricity.
Returns:
Times in seconds.
Returns eccentricity-adaptive path resolution settings computed from this property's orbital elements. The returned object can be passed directly as `entity.path.resolution`.
Returns:
Resolution settings object.
Get a sorted copy of the current maneuver records.
Returns:
Maneuver records.
Get propagation mode for this entity.
Returns:
0=nearest_epoch, 1=interpolated_epoch.
Gets the value of the property at the provided time in the FIXED (ECEF) frame. This matches the upstream SampledPositionProperty contract where getValue always returns FIXED regardless of this.referenceFrame. The referenceFrame property only affects getValueInReferenceFrame(), which PathVisualizer uses for sampling orbit paths in ICRF.
Name Type Description
time JulianDate The time for which to retrieve the value.
result Cartesian3 optional The object to store the value into.
Returns:
The position in FIXED frame, or undefined.

getValueInReferenceFrame(time, referenceFrame, result)Cartesian3|undefined

Gets the value of the property at the provided time in the provided reference frame.
Name Type Description
time JulianDate The time for which to retrieve the value.
referenceFrame ReferenceFrame The desired reference frame of the result.
result Cartesian3 optional The object to store the value into.
Returns:
The position, or undefined if not available.
List all OMM epoch JDs for this entity, sorted chronologically.
Returns:
Array of epoch Julian Dates.
Force a direct propagator call, bypassing the shared buffer. Used by EntityView for camera tracking velocity computation, where we need positions at arbitrary times (not just the current frame time).
Name Type Description
time JulianDate The time for which to propagate.
result Cartesian3 optional The object to store the value into.
Returns:
The position in FIXED frame, or undefined.
Remove a single OMM by its epoch JD.
Name Type Description
epochJD number Julian Date of the OMM to remove.
Returns:
0 on success, -1 on error.

samplePath(start, stop, stepOrSettings, updateTime, referenceFrame, result)number

Batch-sample the orbital path in a single WASM call. When adaptive settings are provided (samplesPerPeriod, method, etc.), uses WASM-side true anomaly stepping with epoch hypersampling. Otherwise falls back to uniform time-step sampling. All orbital mechanics (eccentricity vector, true anomaly stepping, TEME→ECEF conversion) are computed in WASM to minimize JS↔WASM boundary crossings.
Name Type Description
start JulianDate Start time.
stop JulianDate Stop time.
stepOrSettings number | object Time step in seconds, or adaptive settings object.
updateTime JulianDate Current clock time (for epoch hypersampling).
referenceFrame ReferenceFrame Target reference frame.
result Array.<Cartesian3> Output array (reused across frames).
Returns:
Number of positions written, or -1 if batch not available.
Set maneuver records owned and sequenced by this property.
Name Type Description
maneuvers Array.<object> Maneuvers with a time/epoch and deltaV.
options object optional Options.
Name Type Description
epoch JulianDate optional Reference epoch for timeOffset maneuvers.
Set propagation mode for this entity.
Name Type Description
mode number 0=nearest_epoch, 1=interpolated_epoch.
Returns:
0 on success, -1 on error.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.