A bounding sphere with a center and a radius.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
center |
Cartesian3 |
Cartesian3.ZERO
|
可选 The center of the bounding sphere. |
radius |
number |
0.0
|
可选 The radius of the bounding sphere. |
成员(属性)
The number of elements used to pack the object into an array.
The center point of the sphere.
-
默认值:
Cartesian3.ZERO
The radius of the sphere.
-
默认值:
0.0
方法
static Cesium.BoundingSphere.clone(sphere, result) → BoundingSphere
Duplicates a BoundingSphere instance.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere to duplicate. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined)
static Cesium.BoundingSphere.computePlaneDistances(sphere, position, direction, result) → Interval
The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
plus/minus the radius of the bounding sphere.
If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the closest and farthest planes from position that intersect the bounding sphere.
If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the closest and farthest planes from position that intersect the bounding sphere.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere to calculate the distance to. |
position |
Cartesian3 | The position to calculate the distance from. |
direction |
Cartesian3 | The direction from position. |
result |
Interval | 可选 A Interval to store the nearest and farthest distances. |
返回值:
The nearest and farthest distances on the bounding sphere from position in direction.
Computes the estimated distance squared from the closest point on a bounding sphere to a point.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The sphere. |
cartesian |
Cartesian3 | The point |
返回值:
The distance squared from the bounding sphere to the point. Returns 0 if the point is inside the sphere.
使用示例:
// Sort bounding spheres from back to front
spheres.sort(function(a, b) {
return Cesium.BoundingSphere.distanceSquaredTo(b, camera.positionWC) - Cesium.BoundingSphere.distanceSquaredTo(a, camera.positionWC);
});
Compares the provided BoundingSphere componentwise and returns
true
if they are equal, false
otherwise.
参数名称 | 类型 | 描述信息 |
---|---|---|
left |
BoundingSphere | 可选 The first BoundingSphere. |
right |
BoundingSphere | 可选 The second BoundingSphere. |
返回值:
true
if left and right are equal, false
otherwise.
static Cesium.BoundingSphere.expand(sphere, point, result) → BoundingSphere
Computes a bounding sphere by enlarging the provided sphere to contain the provided point.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | A sphere to expand. |
point |
Cartesian3 | A point to enclose in a bounding sphere. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromBoundingSpheres(boundingSpheres, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing the provided array of bounding spheres.
参数名称 | 类型 | 描述信息 |
---|---|---|
boundingSpheres |
Array.<BoundingSphere> | 可选 The array of bounding spheres. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromCornerPoints(corner, oppositeCorner, result) → BoundingSphere
Computes a bounding sphere from the corner points of an axis-aligned bounding box. The sphere
tightly and fully encompasses the box.
参数名称 | 类型 | 描述信息 |
---|---|---|
corner |
Cartesian3 | 可选 The minimum height over the rectangle. |
oppositeCorner |
Cartesian3 | 可选 The maximum height over the rectangle. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
使用示例:
// Create a bounding sphere around the unit cube
const sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));
static Cesium.BoundingSphere.fromEllipsoid(ellipsoid, result) → BoundingSphere
Creates a bounding sphere encompassing an ellipsoid.
参数名称 | 类型 | 描述信息 |
---|---|---|
ellipsoid |
Ellipsoid | The ellipsoid around which to create a bounding sphere. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
使用示例:
const boundingSphere = Cesium.BoundingSphere.fromEllipsoid(ellipsoid);
static Cesium.BoundingSphere.fromEncodedCartesianVertices(positionsHigh, positionsLow, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing a list of EncodedCartesian3s, where the points are
stored in parallel flat arrays in X, Y, Z, order. The bounding sphere is computed by running two
algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
ensure a tight fit.
参数名称 | 类型 | 描述信息 |
---|---|---|
positionsHigh |
Array.<number> | 可选 An array of high bits of the encoded cartesians that the bounding sphere will enclose. Each point is formed from three elements in the array in the order X, Y, Z. |
positionsLow |
Array.<number> | 可选 An array of low bits of the encoded cartesians that the bounding sphere will enclose. Each point is formed from three elements in the array in the order X, Y, Z. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if one was not provided.
static Cesium.BoundingSphere.fromOrientedBoundingBox(orientedBoundingBox, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing the provided oriented bounding box.
参数名称 | 类型 | 描述信息 |
---|---|---|
orientedBoundingBox |
OrientedBoundingBox | The oriented bounding box. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromPoints(positions, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing a list of 3D Cartesian points.
The bounding sphere is computed by running two algorithms, a naive algorithm and
Ritter's algorithm. The smaller of the two spheres is used to ensure a tight fit.
参数名称 | 类型 | 描述信息 |
---|---|---|
positions |
Array.<Cartesian3> |
可选
An array of points that the bounding sphere will enclose. Each point must have x , y , and z properties. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if one was not provided.
static Cesium.BoundingSphere.fromRectangle2D(rectangle, projection, result) → BoundingSphere
Computes a bounding sphere from a rectangle projected in 2D.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
rectangle |
Rectangle | 可选 The rectangle around which to create a bounding sphere. | |
projection |
object |
GeographicProjection
|
可选 The projection used to project the rectangle into 2D. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight, result) → BoundingSphere
Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points
on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
rectangle |
Rectangle | 可选 The valid rectangle used to create a bounding sphere. | |
ellipsoid |
Ellipsoid |
Ellipsoid.default
|
可选 The ellipsoid used to determine positions of the rectangle. |
surfaceHeight |
number |
0.0
|
可选 The height above the surface of the ellipsoid. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromRectangleWithHeights2D(rectangle, projection, minimumHeight, maximumHeight, result) → BoundingSphere
Computes a bounding sphere from a rectangle projected in 2D. The bounding sphere accounts for the
object's minimum and maximum heights over the rectangle.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
rectangle |
Rectangle | 可选 The rectangle around which to create a bounding sphere. | |
projection |
object |
GeographicProjection
|
可选 The projection used to project the rectangle into 2D. |
minimumHeight |
number |
0.0
|
可选 The minimum height over the rectangle. |
maximumHeight |
number |
0.0
|
可选 The maximum height over the rectangle. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromTransformation(transformation, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing the provided affine transformation.
参数名称 | 类型 | 描述信息 |
---|---|---|
transformation |
Matrix4 | The affine transformation. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.fromVertices(positions, center, stride, result) → BoundingSphere
Computes a tight-fitting bounding sphere enclosing a list of 3D points, where the points are
stored in a flat array in X, Y, Z, order. The bounding sphere is computed by running two
algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
ensure a tight fit.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
positions |
Array.<number> | 可选 An array of points that the bounding sphere will enclose. Each point is formed from three elements in the array in the order X, Y, Z. | |
center |
Cartesian3 |
Cartesian3.ZERO
|
可选 The position to which the positions are relative, which need not be the origin of the coordinate system. This is useful when the positions are to be used for relative-to-center (RTC) rendering. |
stride |
number |
3
|
可选 The number of array elements per vertex. It must be at least 3, but it may be higher. Regardless of the value of this parameter, the X coordinate of the first position is at array index 0, the Y coordinate is at array index 1, and the Z coordinate is at array index 2. When stride is 3, the X coordinate of the next position then begins at array index 3. If the stride is 5, however, two array elements are skipped and the next position begins at array index 5. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if one was not provided.
使用示例:
// Compute the bounding sphere from 3 positions, each specified relative to a center.
// In addition to the X, Y, and Z coordinates, the points array contains two additional
// elements per point which are ignored for the purpose of computing the bounding sphere.
const center = new Cesium.Cartesian3(1.0, 2.0, 3.0);
const points = [1.0, 2.0, 3.0, 0.1, 0.2,
4.0, 5.0, 6.0, 0.1, 0.2,
7.0, 8.0, 9.0, 0.1, 0.2];
const sphere = Cesium.BoundingSphere.fromVertices(points, center, 5);
参考:
static Cesium.BoundingSphere.intersectPlane(sphere, plane) → Intersect
Determines which side of a plane a sphere is located.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere to test. |
plane |
Plane | The plane to test against. |
返回值:
Intersect.INSIDE
if the entire sphere is on the side of the plane
the normal is pointing, Intersect.OUTSIDE
if the entire sphere is
on the opposite side, and Intersect.INTERSECTING
if the sphere
intersects the plane.
Determines whether or not a sphere is hidden from view by the occluder.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere surrounding the occluded object. |
occluder |
Occluder | The occluder. |
返回值:
true
if the sphere is not visible; otherwise false
.
Stores the provided instance into the provided array.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
value |
BoundingSphere | The value to pack. | |
array |
Array.<number> | The array to pack into. | |
startingIndex |
number |
0
|
可选 The index into the array at which to start packing the elements. |
返回值:
The array that was packed into
static Cesium.BoundingSphere.projectTo2D(sphere, projection, result) → BoundingSphere
Creates a bounding sphere in 2D from a bounding sphere in 3D world coordinates.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
sphere |
BoundingSphere | The bounding sphere to transform to 2D. | |
projection |
object |
GeographicProjection
|
可选 The projection to 2D. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.transform(sphere, transform, result) → BoundingSphere
Applies a 4x4 affine transformation matrix to a bounding sphere.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere to apply the transformation to. |
transform |
Matrix4 | The transformation matrix to apply to the bounding sphere. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.transformWithoutScale(sphere, transform, result) → BoundingSphere
Applies a 4x4 affine transformation matrix to a bounding sphere where there is no scale
The transformation matrix is not verified to have a uniform scale of 1.
This method is faster than computing the general bounding sphere transform using
BoundingSphere.transform
.
参数名称 | 类型 | 描述信息 |
---|---|---|
sphere |
BoundingSphere | The bounding sphere to apply the transformation to. |
transform |
Matrix4 | The transformation matrix to apply to the bounding sphere. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
使用示例:
const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(positionOnEllipsoid);
const boundingSphere = new Cesium.BoundingSphere();
const newBoundingSphere = Cesium.BoundingSphere.transformWithoutScale(boundingSphere, modelMatrix);
static Cesium.BoundingSphere.union(left, right, result) → BoundingSphere
Computes a bounding sphere that contains both the left and right bounding spheres.
参数名称 | 类型 | 描述信息 |
---|---|---|
left |
BoundingSphere | A sphere to enclose in a bounding sphere. |
right |
BoundingSphere | A sphere to enclose in a bounding sphere. |
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
static Cesium.BoundingSphere.unpack(array, startingIndex, result) → BoundingSphere
Retrieves an instance from a packed array.
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
array |
Array.<number> | The packed array. | |
startingIndex |
number |
0
|
可选 The starting index of the element to be unpacked. |
result |
BoundingSphere | 可选 The object into which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if one was not provided.
clone(result) → BoundingSphere
Duplicates this BoundingSphere instance.
参数名称 | 类型 | 描述信息 |
---|---|---|
result |
BoundingSphere | 可选 The object onto which to store the result. |
返回值:
The modified result parameter or a new BoundingSphere instance if none was provided.
computePlaneDistances(position, direction, result) → Interval
The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
plus/minus the radius of the bounding sphere.
If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the closest and farthest planes from position that intersect the bounding sphere.
If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the closest and farthest planes from position that intersect the bounding sphere.
参数名称 | 类型 | 描述信息 |
---|---|---|
position |
Cartesian3 | The position to calculate the distance from. |
direction |
Cartesian3 | The direction from position. |
result |
Interval | 可选 A Interval to store the nearest and farthest distances. |
返回值:
The nearest and farthest distances on the bounding sphere from position in direction.
Computes the estimated distance squared from the closest point on a bounding sphere to a point.
参数名称 | 类型 | 描述信息 |
---|---|---|
cartesian |
Cartesian3 | The point |
返回值:
The estimated distance squared from the bounding sphere to the point.
使用示例:
// Sort bounding spheres from back to front
spheres.sort(function(a, b) {
return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC);
});
Compares this BoundingSphere against the provided BoundingSphere componentwise and returns
true
if they are equal, false
otherwise.
参数名称 | 类型 | 描述信息 |
---|---|---|
right |
BoundingSphere | 可选 The right hand side BoundingSphere. |
返回值:
true
if they are equal, false
otherwise.
intersectPlane(plane) → Intersect
Determines which side of a plane the sphere is located.
参数名称 | 类型 | 描述信息 |
---|---|---|
plane |
Plane | The plane to test against. |
返回值:
Intersect.INSIDE
if the entire sphere is on the side of the plane
the normal is pointing, Intersect.OUTSIDE
if the entire sphere is
on the opposite side, and Intersect.INTERSECTING
if the sphere
intersects the plane.
Determines whether or not a sphere is hidden from view by the occluder.
参数名称 | 类型 | 描述信息 |
---|---|---|
occluder |
Occluder | The occluder. |
返回值:
true
if the sphere is not visible; otherwise false
.
Computes the radius of the BoundingSphere.
返回值:
The radius of the BoundingSphere.