OrthographicFrustum

new Cesium.OrthographicFrustum(options)

正射视锥。视锥(viewing frustum)由6个平面构成。 每个平面由一个Cartesian4对象表示,其中x、y和z分量定义了垂直于该平面的单位向量, w分量是该平面到原点/相机位置的距离。
Name Type Description
options Object optional 具有以下属性的对象:
Name Type Default Description
width Number optional 截锥体的宽度,以米为单位。
aspectRatio Number optional 视锥的宽高比。
near Number 1.0 optional 近平面的距离。
far Number 500000000.0 optional 远平面的距离。
Example:
var maxRadii = ellipsoid.maximumRadius;

var frustum = new Cesium.OrthographicFrustum();
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;

Members

staticCesium.OrthographicFrustum.packedLength : Number

用于将对象打包成数组的元素数。

aspectRatio : Number

视锥的宽高比。
Default Value: undefined
远平面的距离。
Default Value: 500000000.0;
近平面的距离。
Default Value: 1.0

readonlyprojectionMatrix : Matrix4

获取从视锥体(view frustum)计算出的正交投影矩阵。
截锥体的水平宽度,以米为单位。
Default Value: undefined

Methods

staticCesium.OrthographicFrustum.pack(value, array, startingIndex)Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value OrthographicFrustum 要包装的值。
array Array.<Number> 要被包装到的数组。
startingIndex Number 0 optional 开始包装元素的数组索引。
Returns:
被包装到的数组。

staticCesium.OrthographicFrustum.unpack(array, startingIndex, result)OrthographicFrustum

从已包装的数组中检索实例。
Name Type Default Description
array Array.<Number> 包装的数组。
startingIndex Number 0 optional 要解包的元素的起始索引。
result OrthographicFrustum optional 存储结果的对象。
Returns:
修改后的结果参数或新的OrthographicFrustum实例(如果没有提供)。
返回一个OrthographicFrustum实例的副本。
Name Type Description
result OrthographicFrustum optional 存储结果的对象。
Returns:
已修改的结果参数,如果没有提供则创建新的OrthographicFrustum实例。

computeCullingVolume(position, direction, up)CullingVolume

创建此截锥体的剔除体(culling volume)。
Name Type Description
position Cartesian3 视点的位置。
direction Cartesian3 观察方向。
up Cartesian3 向上的方向。
Returns:
在给定的位置和方向上的剔除体(culling volume)。
Example:
// 检查包围盒是否与截锥体相交。
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

equals(other)Boolean

与提供的OrthographicFrustum分量比较,如果它们相等,则返回true,否则返回false
Name Type Description
other OrthographicFrustum optional 要进行比较的OrthographicFrustum实例。
Returns:
如果它们相等,则为true,否则false

equalsEpsilon(other, relativeEpsilon, absoluteEpsilon)Boolean

与提供的OrthographicFrustum分量比较, 如果它们通过了绝对或相对公差测试,则返回true,否则返回false
Name Type Default Description
other OrthographicFrustum 要进行比较的OrthographicFrustum实例。
relativeEpsilon Number 用于等式检验的相对epsilon公差。
absoluteEpsilon Number relativeEpsilon optional 用于等式检验的绝对epsilon公差。
Returns:
如果两个都在规定的epsilon范围内,则为true;否则false

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

返回像素的宽度和高度,以米为单位。
Name Type Description
drawingBufferWidth Number 绘图缓冲区的宽度。
drawingBufferHeight Number 绘图缓冲区的高度。
distance Number 到近平面的距离,以米为单位。
pixelRatio Number 从像素空间到坐标空间的比例因子(scaling factor)。
result Cartesian2 存储结果的对象。
Returns:
修改后的结果参数,或Cartesian2的新实例,其中x和y属性中分别为像素的宽度和高度。
Throws:
Example:
// 获取一个像素的宽度和高度。
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2());