OrbPro2 a Cesium distribution

RfSensor

new Cesium.RfSensor(options)

Name Type Description
options object Every Sensor option, plus:
Name Type Default Description
role string RfSensorRole.TRANSMITTER optional Which end of the link this sensor is; sets the pattern defaults.
frequencyHz number optional Carrier frequency. Also seeds `viewshedRfFrequency`, so the analytic RF shaders agree with the link budget without the caller repeating themselves.
bandwidthHz number optional Occupied bandwidth.
gainDbi number optional Boresight gain.
Example:
const emitter = new Cesium.Transmitter({
  scene: viewer.scene,
  position: sitePosition,
  orientation: nadir,
  radius: 60000.0,
  frequencyHz: 437.0e6,
});
// Banded lobe, and no viewshed will EVER appear. Nothing else to configure.

Extends

Members

allowPicking : boolean

Whether the sensor volume participates in the pick pass.
Inherited From:
Default Value: true

bandwidthHz : number|undefined

Occupied bandwidth in Hz.

disabledShaderModes : Array.<string>

The shader modes this sensor refuses to render, as an array. Assigning replaces the whole set; Sensor#disableShaderMode and Sensor#enableShaderMode adjust one at a time.
Inherited From:

readonly effectiveShaderMode : string

The shader that ACTUALLY renders this frame. Equal to Sensor#shaderMode unless that mode is disabled on this sensor or its required projected data is absent, in which case it is SensorShaderMode.NONE and no overlay is drawn.
Inherited From:

environmentIntersectionColor : Color

Color of the environment-contact edge.
Inherited From:
Default Value: Color.WHITE

environmentIntersectionWidth : number

Width of the environment-contact edge, in meters along the boresight distance at the cut.
Inherited From:
Default Value: 5.0

flatShading : boolean

Whether the volume renders as one uniform, unlit color: no per-fragment lighting, no back-face or lateral-wall dimming, and the fragment alpha is exactly the configured color/band alpha. Default is false (lit shading).
Inherited From:
Default Value: false

frequencyHz : number|undefined

Carrier frequency in Hz. Writing it keeps `viewshedRfFrequency` in step so the analytic RF shaders and the link budget cannot drift apart.

gainDbi : number|undefined

Boresight gain in dBi.

gainPattern : object

The radiation-pattern options driving the gain-banded volume. Assigning merges into the current bag and rebuilds the lobe.
Inherited From:

readonly ready : Promise.<void>

A promise that resolves when the sensor's WASM handle is ready. Await this before calling containsPoint() to ensure WASM is initialized.
Inherited From:

readonly role : string

Which end of the link this sensor sits at — a RfSensorRole.
Gets or sets which shader renders this sensor's ground overlay, by name — see SensorShaderMode.

This is the first-class selection. Sensor#viewshedVisualizationMode is the same state expressed as the legacy numeric enum, and setting either updates both, so helpers that still assign the numeric mode keep working.

What renders is Sensor#effectiveShaderMode, which may be SensorShaderMode.NONE if this mode is disabled on this sensor or its projected data has not arrived. It is never silently another shader.

Inherited From:
Default Value: SensorShaderMode.VIEWSHED
Example:
sensor.shaderMode = Cesium.SensorShaderMode.RF_COVERAGE;
sensor.disableShaderMode(Cesium.SensorShaderMode.VIEWSHED);

shaderOverlayAlpha : number

Opacity multiplier applied to whatever the overlay shader produces, 0-1.

Its purpose is presenting a result as provisional. An RF sensor whose emitter has just been dragged still holds the PREVIOUS solve; dimming it says "this is stale, a fresh one is coming" without either lying about it or blanking the screen. It is a uniform, so it takes effect on the next frame with no shader rebuild — the drop can dim within the gesture.

Inherited From:
Default Value: 1.0

shadingBandAlternateColor : Color

The color of the odd elevation bands when Sensor#volumeShading is `ELEVATION_BANDED` — the dark half of the zebra.
Inherited From:
Default Value: Color.BLACK.withAlpha(0.35)
The color of the even elevation bands when Sensor#volumeShading is `ELEVATION_BANDED`. Its alpha is how strongly the stripe is composited over the volume color.
Inherited From:
Default Value: Color.WHITE.withAlpha(0.35)

shadingBandCount : number

How many elevation contour bands the volume is striped into across the sensor's own maximum half-angle, when Sensor#volumeShading is `ELEVATION_BANDED`. Nine bands over a 90-degree dome is one band per 10 degrees of elevation.
Inherited From:
Default Value: 9

shadingBandsOnWall : boolean

Whether stripes paint the lateral wall as well as the range shell. Wall stripes are concentric iso-range rings out from the sensor, matching the shell's circular bands. Default is false (bands on the range shell only).
Inherited From:
Default Value: false

shadingBandSpectrum : boolean

Elevation bands walk the RF spectrum ramp (blue->red) instead of the two-color zebra. Requires ELEVATION_BANDED volume shading.
Inherited From:

showEnvironmentIntersection : boolean

Whether the volume paints a conforming contact edge where it meets terrain/objects (the occlusion cut), instead of ending on a bare fragment discard. Requires Sensor#stopAtOcclusion and Sensor#showViewshed.
Inherited From:
Default Value: false

showVolume : boolean

Whether the sensor's VOLUME — its body in space — is drawn.

Orthogonal to Sensor#showViewshed, which gates the ground raster, with Sensor#show the master switch over both. STK treats the sensor body and its coverage analysis as independent toggles and the emitter demos need the same, so that showing the volume does not take the coverage raster down with it. Closes the gap filed as `orbpro-sensor-volume-visibility-toggle`, which demos had been working around by setting Sensor#color to transparent — a workaround that cannot express itself at all once the volume is a gain-banded lobe.

Inherited From:
Default Value: true

sphericalCap : boolean

Whether to use spherical cap for the sensor. When true (default), the sensor shows a dome at the range boundary and detection uses spherical distance (dist < range). When false, the cone is visually open-ended and detection uses a planar boundary perpendicular to boresight (z < range in local coordinates).
Inherited From:
Default Value: true
Gets or sets the split direction used for side-by-side comparison rendering.
Inherited From:

stopAtOcclusion : boolean

Whether to clip the sensor volume at terrain/geometry occlusion points. When true and viewshed is enabled, the sensor volume will stop rendering at terrain and geometry that blocks the line of sight. Requires viewshed to be enabled. Default is true. Note: Changing this requires rebuilding the sensor geometry.
Inherited From:

terrainDetail : number|undefined

The terrain detail level within the sensor's viewshed area. Value from 1-8, where 1 is highest detail and 8 is lowest. Set to undefined to use the global terrain LOD setting. Lower values require more GPU/CPU but provide more accurate viewshed.
Inherited From:

terrainDetailMode : string

The terrain detail distance mode within the sensor's viewshed area. "distance" refines terrain based on distance from the sensor, while "forced" caps far-footprint terrain distance for stable high-detail terrain.
Inherited From:
Inherited From:
See:

viewshedDepthBias : number

Gets or sets the depth-comparison bias used by viewshed visibility tests. Expressed in normalized depth units relative to the shadow-map reference distance of 10,000 km. Default 1e-7. Larger values eliminate the per-pixel "zebra" banding caused by shadow-map quantization at the cost of fine-scale occlusion detail; smaller values preserve detail but may reintroduce banding. Tunable at runtime — no rebuild needed.
Inherited From:

viewshedDirty : boolean

Whether the viewshed needs to be re-rendered. Automatically set to true when position, orientation, or intersection settings change. Set this to true or call Sensor#refreshViewshed to force an update.
Inherited From:

viewshedOnTerrain : boolean

Whether the viewshed's ground raster paints the globe. When false the sensor's occlusion cascades still render — the volume keeps clipping at terrain/objects — but the viewshed leaves the globe's receive pipeline, freeing its fragment-texture-unit budget (the globe pass fits about two viewshed receivers).
Inherited From:
Default Value: true

viewshedPositiveLinkFootprint : object|undefined

Optional terrain-analysis-backed positive-link footprint overlay for viewshed terrain shading.
Inherited From:

viewshedQualityAngleExponent : number

Gets or sets the boresight-falloff exponent used by the coverage-quality heat map.
Inherited From:

viewshedQualityDistanceExponent : number

Gets or sets the distance-falloff exponent used by the coverage-quality heat map.
Inherited From:

viewshedQualityHighColor : Color

Gets or sets the high-quality color used by the coverage-quality heat map.
Inherited From:

viewshedQualityLowColor : Color

Gets or sets the low-quality color used by the coverage-quality heat map.
Inherited From:

viewshedQualityMediumColor : Color

Gets or sets the medium-quality color used by the coverage-quality heat map.
Inherited From:

viewshedRfAtmosphericLossDbPerKm : number

Gets or sets the atmospheric attenuation rate used by RF viewshed visualization.
Inherited From:
Legacy alias for `viewshedRfNegativeMarginColor`.
Inherited From:

viewshedRfContourColor : Color

Colour of the intermediate RF link-margin contour lines.
Inherited From:

viewshedRfContourIntervalDb : number

Contour (isoline) interval in dB for the RF link-margin overlay. Zero disables contours. The lines are computed in the material from the same texture sample as the fill, so they update with the raster and cost nothing per solve — unlike a CPU-side GeoJSON contour pass, which rebuilds geometry every time the emitter moves.
Inherited From:
Default Value: 0.0

viewshedRfContourWidthPx : number

Screen-space width, in pixels, of the RF link-margin contour lines.
Inherited From:
Default Value: 1.0

viewshedRfContourZeroColor : Color

Colour of the zero-margin contour — the link-closure boundary, which is the one isoline the analysis is actually about.
Inherited From:

viewshedRfFrequency : number

Gets or sets the RF frequency used by RF viewshed visualization.
Inherited From:
Legacy alias for `viewshedRfPositiveMarginColor`.
Inherited From:

viewshedRfLinkMarginFootprint : object|undefined

Optional terrain-analysis-backed projected RF link-margin raster.
Inherited From:

viewshedRfNegativeMarginColor : Color

Gets or sets the negative link-margin color used by RF terrain overlays.
Inherited From:

viewshedRfOccludedLossDb : number

Gets or sets the occlusion penalty applied in RF viewshed visualization.
Inherited From:

viewshedRfPositiveMarginColor : Color

Gets or sets the positive link-margin color used by RF terrain overlays.
Inherited From:

viewshedRfThresholdDb : number

Gets or sets the RF path-loss threshold.
Inherited From:

viewshedRfTransitionWidthDb : number

Gets or sets the transition band around the RF threshold.
Inherited From:
Gets or sets the viewshed visualization mode.

The legacy numeric view of Sensor#shaderMode. Assigning a mode that maps to a registered shader updates the named selection too, which is what lets footprint helpers keep assigning numbers.

Inherited From:

volumeShading : string

How the sensor VOLUME is shaded — see SensorVolumeShading. `GAIN_BANDED` replaces the flat translucent body with the antenna's radiation pattern: radius scaled by gain, surface banded through the gain ramp with contour lines.
Inherited From:
Default Value: SensorVolumeShading.FLAT

Methods

static Cesium.RfSensor.defaultsFor(role)object

The option defaults an RF sensor of a given role is built with. Exposed so callers (and specs) can read the policy without constructing a scene.
Name Type Default Description
role string RfSensorRole.TRANSMITTER optional A RfSensorRole.
Returns:
The defaults.

applyViewshedLinkMarginConfiguration(configuration)

Apply projected RF link-margin visualization settings in one update.
Name Type Description
configuration object RF link-margin configuration.
Inherited From:

applyViewshedProbabilityConfiguration(configuration)

Name Type Description
configuration object RF link-margin configuration.
Inherited From:

applyViewshedQualityConfiguration(configuration)

Apply coverage-quality heat-map settings in one update.
Name Type Description
configuration object Coverage-quality visualization configuration.
Inherited From:

applyViewshedRfConfiguration(configuration)

Apply RF viewshed visualization settings in one update.
Name Type Description
configuration object RF viewshed configuration.
Inherited From:

containsPointGeometrically(point)boolean

Tests geometric containment only. This intentionally excludes body occlusion, terrain occlusion, and shadow-map visibility so higher-level access logic can layer those concerns independently.
Name Type Description
point Cartesian3 Point in world coordinates.
Returns:
True if the point is geometrically inside the sensor volume.
Inherited From:

debugContainsPoint(point)object

Debug method to compare JS and WASM containsPoint results. Call this to diagnose mismatches between JS and WASM implementations.
Name Type Description
point Cartesian3 Point in world coordinates.
Returns:
Debug info comparing JS and WASM results.
Inherited From:

disableShaderMode(mode)Sensor

Refuse a shader mode on this sensor.

A refusal is stronger than a selection. Anything that later assigns the refused mode — a footprint helper clearing its raster, a control panel, a default — resolves to SensorShaderMode.NONE and the sensor draws no overlay instead of painting the refused shader. That is what makes an RF sensor safe: it can never fall back to a plain visibility raster wearing RF colors while its solve is in flight.

Name Type Description
mode string A SensorShaderMode name.
Returns:
This sensor, for chaining.
Inherited From:
Example:
sensor.disableShaderMode(Cesium.SensorShaderMode.VIEWSHED);

enableShaderMode(mode)Sensor

Withdraw a refusal added by Sensor#disableShaderMode.
Name Type Description
mode string A SensorShaderMode name.
Returns:
This sensor, for chaining.
Inherited From:

evaluateGeometricContainmentSdf(point)number|undefined

Evaluates the geometric signed-distance function for this sensor when a handle-backed WASM containment primitive is available.
Name Type Description
point Cartesian3 Point in world coordinates.
Returns:
Signed distance in meters, or undefined when a non-SDF containment path is active.
Inherited From:

getEntitiesInVolume(entities, time, options)Array.<Entity>

Gets entities inside the sensor volume.
Name Type Description
entities EntityCollection Entity collection to check.
time JulianDate Time to evaluate positions.
options object optional Options object.
Name Type Default Description
occlusionAware boolean false optional If true and viewshed is enabled, entities must also be visible (not occluded by terrain) to be included.
Returns:
Entities inside the sensor volume.
Inherited From:

getPointsInVolume(points, options)Array.<number>

Gets indices of points inside the sensor volume (batch operation).
Name Type Description
points Array.<Cartesian3> Array of points to test.
options object optional Options object.
Name Type Default Description
occlusionAware boolean false optional If true and viewshed is enabled, points must also be visible (not occluded by terrain) to be included.
Returns:
Indices of points inside the sensor.
Inherited From:

hasAccess(targetPosition, options)boolean

Tests whether this sensor has access to a target position using a multi-tier filtering pipeline ordered from cheapest to most expensive: 1. Range check (<0.001ms) 2. Body occlusion via WASM (~0.005ms) or JS EllipsoidalOccluder (~0.01ms fallback) 3. FOV containment via WASM (~0.1ms) 4. Terrain occlusion via GPU readback (~1ms, opt-in)
Name Type Description
targetPosition Cartesian3 World-space target position.
options object optional Options.
Name Type Default Description
bodyOcclusion boolean true optional Check Earth body occlusion.
terrainOcclusion boolean false optional Check terrain occlusion (GPU, expensive).
ellipsoid Ellipsoid Ellipsoid.WGS84 optional Ellipsoid for body occlusion (JS fallback only).
Returns:
True if the sensor has access to the target.
Inherited From:

isShaderModeEnabled(mode)boolean

Whether a shader mode is permitted on this sensor. Says nothing about whether it currently has the data to render — see Sensor#effectiveShaderMode for that.
Name Type Description
mode string A SensorShaderMode name.
Returns:
False when refused.
Inherited From:
Manually triggers a viewshed shadow map update. Use this when objects in the sensor's field of view have moved and you want to refresh the occlusion analysis. The viewshed automatically updates when the sensor position or orientation changes, but objects moving within the FOV won't trigger an update.
Inherited From:
Example:
// Force refresh when a building in the FOV was added/moved:
sensor.refreshViewshed();
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.