OrthographicOffCenterFrustum

new Cesium.OrthographicOffCenterFrustum(options)

视锥体由 6 个平面定义。 每个平面都由一个 Cartesian4 对象表示,其中 x、y 和 z 分量 定义垂直于平面的单位向量,w 分量是 从原点/相机位置开始的平面。
Name Type Description
options object optional 对象,具有以下属性:
Name Type Default Description
left number optional 左剪切平面距离。
right number optional 右剪切平面距离。
top number optional 顶部剪切平面距离。
bottom number optional 底部剪切平面距离。
near number 1.0 optional 近裁剪平面距离。
far number 500000000.0 optional 远裁剪平面距离。
Example:
const maxRadii = ellipsoid.maximumRadius;

const frustum = new Cesium.OrthographicOffCenterFrustum();
frustum.right = maxRadii * Cesium.Math.PI;
frustum.left = -c.frustum.right;
frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
frustum.bottom = -c.frustum.top;
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;

Members

底部剪切平面。
Default Value: undefined
远平面的距离。
Default Value: 500000000.0;
左剪切平面。
Default Value: undefined
近平面的距离。
Default Value: 1.0
获取从视图视锥体计算的正交投影矩阵。
正确的剪切平面。
Default Value: undefined
顶部剪切平面。
Default Value: undefined

Methods

返回 OrthographicOffCenterFrustum 实例的副本。
Name Type Description
result OrthographicOffCenterFrustum optional 要在其上存储结果的对象。
Returns:
修改后的结果参数或者一个新的 OrthographicOffCenterFrustum 实例(如果未提供)。

computeCullingVolume(position, direction, up)CullingVolume

为此视锥体创建剔除体积。
Name Type Description
position Cartesian3 眼睛位置。
direction Cartesian3 视图方向。
up Cartesian3 向上方向。
Returns:
给定位置和方向的剔除体积。
Example:
// Check if a bounding volume intersects the frustum.
const cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
const intersect = cullingVolume.computeVisibility(boundingVolume);
按组件比较提供的 OrthographicOffCenterFrustum 并返回 true,否则为false
Name Type Description
other OrthographicOffCenterFrustum optional 右边 OrthographicOffCenterFrustum.
Returns:
true,否则为false

equalsEpsilon(other, relativeEpsilon, absoluteEpsilon)boolean

按组件比较提供的 OrthographicOffCenterFrustum 并返回 true 如果它们通过了绝对或相对耐受性测试, 否则 false
Name Type Default Description
other OrthographicOffCenterFrustum 右边 OrthographicOffCenterFrustum.
relativeEpsilon number 用于相等性检验的相对容差。
absoluteEpsilon number relativeEpsilon optional 用于相等性检验的绝对公差。
Returns:
true 如果 this 和其他都在提供的 epsilon 内, 否则 false

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result)Cartesian2

返回像素的宽度和高度(以米为单位)。
Name Type Description
drawingBufferWidth number 绘图缓冲区的宽度。
drawingBufferHeight number 绘图缓冲区的高度。
distance number 到近平面的距离,以米为单位。
pixelRatio number 从像素空间到坐标空间的缩放因子。
result Cartesian2 要在其上存储结果的对象。
Returns:
修改后的结果参数 或 Cartesian2 的新实例,像素的宽度和高度分别位于 x 和 y 属性中。
Throws:
Example:
// Example 1
// Get the width and height of a pixel.
const pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, scene.pixelRatio, new Cesium.Cartesian2());
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.