| Name | Type | Description |
|---|---|---|
occluderBoundingSphere |
BoundingSphere | The bounding sphere surrounding the occluder. |
cameraPosition |
Cartesian3 | The coordinate of the viewer/camera. |
Example:
// Construct an occluder one unit away from the origin with a radius of one.
const cameraPosition = Cesium.Cartesian3.ZERO;
const occluderBoundingSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 1);
const occluder = new Cesium.Occluder(occluderBoundingSphere, cameraPosition);
Members
cameraPosition : Cartesian3
The position of the camera.
position : Cartesian3
The position of the occluder.
The radius of the occluder.
Methods
static Cesium.Occluder.computeOccludeePoint(occluderBoundingSphere, occludeePosition, positions) → object
Computes a point that can be used as the occludee position to the visibility functions.
Use a radius of zero for the occludee radius. Typically, a user computes a bounding sphere around
an object that is used for visibility; however it is also possible to compute a point that if
seen/not seen would also indicate if an object is visible/not visible. This function is better
called for objects that do not move relative to the occluder and is large, such as a chunk of
terrain. You are better off not calling this and using the object's bounding sphere for objects
such as a satellite or ground vehicle.
| Name | Type | Description |
|---|---|---|
occluderBoundingSphere |
BoundingSphere | The bounding sphere surrounding the occluder. |
occludeePosition |
Cartesian3 | The point where the occludee (bounding sphere of radius 0) is located. |
positions |
Array.<Cartesian3> | List of altitude points on the horizon near the surface of the occluder. |
Returns:
An object containing two attributes:
occludeePoint and valid
which is a boolean value.
Throws:
-
DeveloperError :
positionsmust contain at least one element.
Example:
const cameraPosition = new Cesium.Cartesian3(0, 0, 0);
const occluderBoundingSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -8), 2);
const occluder = new Cesium.Occluder(occluderBoundingSphere, cameraPosition);
const positions = [new Cesium.Cartesian3(-0.25, 0, -5.3), new Cesium.Cartesian3(0.25, 0, -5.3)];
const tileOccluderSphere = Cesium.BoundingSphere.fromPoints(positions);
const occludeePosition = tileOccluderSphere.center;
const occludeePt = Cesium.Occluder.computeOccludeePoint(occluderBoundingSphere, occludeePosition, positions);
Computes a point that can be used as the occludee position to the visibility functions from a rectangle.
| Name | Type | Default | Description |
|---|---|---|---|
rectangle |
Rectangle | The rectangle used to create a bounding sphere. | |
ellipsoid |
Ellipsoid |
Ellipsoid.default
|
optional The ellipsoid used to determine positions of the rectangle. |
Returns:
An object containing two attributes:
occludeePoint and valid
which is a boolean value.
static Cesium.Occluder.fromBoundingSphere(occluderBoundingSphere, cameraPosition, result) → Occluder
Creates an occluder from a bounding sphere and the camera position.
| Name | Type | Description |
|---|---|---|
occluderBoundingSphere |
BoundingSphere | The bounding sphere surrounding the occluder. |
cameraPosition |
Cartesian3 | The coordinate of the viewer/camera. |
result |
Occluder | optional The object onto which to store the result. |
Returns:
The occluder derived from an object's position and radius, as well as the camera position.
computeVisibility(occludeeBS) → Visibility
Determine to what extent an occludee is visible (not visible, partially visible, or fully visible).
| Name | Type | Description |
|---|---|---|
occludeeBS |
BoundingSphere | The bounding sphere of the occludee. |
Returns:
Visibility.NONE if the occludee is not visible,
Visibility.PARTIAL if the occludee is partially visible, or
Visibility.FULL if the occludee is fully visible.
Example:
const sphere1 = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1.5), 0.5);
const sphere2 = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -2.5), 0.5);
const cameraPosition = new Cesium.Cartesian3(0, 0, 0);
const occluder = new Cesium.Occluder(sphere1, cameraPosition);
occluder.computeVisibility(sphere2); //returns Visibility.NONE
Determines whether or not a sphere, the
occludee, is hidden from view by the occluder.
| Name | Type | Description |
|---|---|---|
occludee |
BoundingSphere | The bounding sphere surrounding the occludee object. |
Returns:
true if the occludee is visible; otherwise false.
Example:
const cameraPosition = new Cesium.Cartesian3(0, 0, 0);
const littleSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 0.25);
const occluder = new Cesium.Occluder(littleSphere, cameraPosition);
const bigSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -3), 1);
occluder.isBoundingSphereVisible(bigSphere); //returns true
See:
Determines whether or not a point, the
occludee, is hidden from view by the occluder.
| Name | Type | Description |
|---|---|---|
occludee |
Cartesian3 | The point surrounding the occludee object. |
Returns:
true if the occludee is visible; otherwise false.
Example:
const cameraPosition = new Cesium.Cartesian3(0, 0, 0);
const littleSphere = new Cesium.BoundingSphere(new Cesium.Cartesian3(0, 0, -1), 0.25);
const occluder = new Cesium.Occluder(littleSphere, cameraPosition);
const point = new Cesium.Cartesian3(0, 0, -3);
occluder.isPointVisible(point); //returns true
