DebrisCloud
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.
The fragment entities created by this cloud.
The caller-supplied propagator driving every fragment.
Indices, into the breakup population, of the fragments that were
visualized.
Methods
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
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.