OrbPro2 a Cesium distribution

DebrisCloud

new Cesium.DebrisCloud(options)

A visualization of a BreakupEvent fragment population: one entity per visualized fragment, each propagated by a caller-supplied propagator and drawn with the engine's own path visualizer.

The propagator is a parameter, never a built-in. A debris cloud is created against whatever propagator the caller hands it, through the generic state-vector contract that PropagatedPositionProperty already defines. Fragment states leave the breakup model as Cartesian state vectors, so numerical (HPOP-class) providers consume them directly while providers built on mean elements perform their own conversion. Two providers can be driven side by side over the same population — that is the point of the contract.

No physics happens here. The fragment population comes from the NASA Standard Satellite Breakup Model inside the wasm-engine, and every fragment's subsequent motion comes from the propagator. This class only converts frames, hands state vectors across the contract, and wires entities. Each fragment's track is drawn by entity.path over a PropagatedPositionProperty — never by sampling positions into a polyline.

Name Type Description
options object Object with the following properties:
Name Type Default Description
breakupEvent BreakupEvent The fragment population to visualize. Must have been produced by the breakup model.
propagator object The propagator that will propagate every fragment. Must expose createSourceFromState(state) or initFromState(state).
entities EntityCollection The collection to add fragment entities to.
epoch JulianDate optional The breakup instant. Defaults to the epoch recorded on the breakup event, and is required if that is absent.
maximumFragments number optional Visualize at most this many fragments. The population itself is never modified — this bounds entity count only, and BreakupEvent#count remains the number the model generated.
fragmentSelection string 'stratified' optional How a bounded subset is chosen: 'stratified' samples across the whole mass range (and therefore the whole area-to-mass range), while 'largest-mass' keeps only the heaviest fragments, which is a deliberately biased view.
pathCount number 24 optional How many of the visualized fragments draw an orbit track. Every track uses the path visualizer.
idPrefix string optional Prefix for generated entity ids.
namePrefix string 'Debris fragment' optional Prefix for entity names.
fragmentColor DebrisCloud.ColorCallback optional Per-fragment colour. Defaults to an area-to-mass ramp.
pointPixelSize number 3 optional Fragment point size.
pathWidth number 1 optional Fragment track width.
availabilityStop JulianDate optional When the fragment entities stop being available. Defaults to unbounded.
showPaths boolean true optional Whether tracks are drawn at all.
Example:
// The propagator is supplied by the caller — any provider satisfying the
// generic state-vector contract works.
const cloud = await Cesium.DebrisCloud.create({
  breakupEvent: event,
  propagator: await Cesium.getPlugin("hpop"),
  entities: viewer.entities,
  maximumFragments: 120,
  pathCount: 24,
});
See:

Members

The fragment population being visualized.
The breakup instant.

readonly fragmentEntities : Array.<Entity>

The fragment entities created by this cloud.

readonly propagator : object

The caller-supplied propagator driving every fragment.

readonly visualizedIndices : Array.<number>

Indices, into the breakup population, of the fragments that were visualized.

Methods

static Cesium.DebrisCloud.create(options)Promise.<DebrisCloud>

Create a debris cloud and attach every visualized fragment to the propagator.
Name Type Description
options object See the DebrisCloud constructor.
Returns:
The loaded cloud.
Remove every fragment entity and release the propagator sources this cloud created.
Attach every visualized fragment to the propagator and add its entity.
Returns:
This cloud.

Type Definitions

Cesium.DebrisCloud.ColorCallback(fragment, index, breakupEvent)Color

A function returning the colour for a debris fragment.
Name Type Description
fragment object The fragment, as returned by BreakupEvent#getFragment.
index number The fragment's index in the population.
breakupEvent BreakupEvent The population.
Returns:
The fragment's colour.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.