麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - OrthographicFrustum 中文文档

本文介绍下Cesium中 OrthographicFrustum API的详细使用说明。

OrthographicFrustum API 调用方法

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 远平面的距离。
示例:
var maxRadii = ellipsoid.maximumRadius;
var frustum = new Cesium.OrthographicFrustum();
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;

成员变量

staticCesium.OrthographicFrustum.packedLength : Number
用于将对象打包成数组的元素数。
aspectRatio : Number
视锥的宽高比。
Default Value: undefined
远平面的距离。
Default Value: 500000000.0;
近平面的距离。
Default Value: 1.0
readonlyprojectionMatrix : Matrix4
获取从视锥体(view frustum)计算出的正交投影矩阵。
截锥体的水平宽度,以米为单位。
Default Value: undefined

内置方法

staticCesium.OrthographicFrustum.pack(value, array, startingIndex)Array.<Number>
将提供的实例存储到提供的数组中。
Name Type Default Description
value OrthographicFrustum 要包装的值。
array Array.<Number> 要被包装到的数组。
startingIndex Number 0 optional 开始包装元素的数组索引。
返回值:
被包装到的数组。
staticCesium.OrthographicFrustum.unpack(array, startingIndex, result)OrthographicFrustum
从已包装的数组中检索实例。
Name Type Default Description
array Array.<Number> 包装的数组。
startingIndex Number 0 optional 要解包的元素的起始索引。
result OrthographicFrustum optional 存储结果的对象。
返回值:
修改后的结果参数或新的OrthographicFrustum实例(如果没有提供)。
返回一个OrthographicFrustum实例的副本。
Name Type Description
result OrthographicFrustum optional 存储结果的对象。
返回值:
已修改的结果参数,如果没有提供则创建新的OrthographicFrustum实例。
computeCullingVolume(position, direction, up)CullingVolume
创建此截锥体的剔除体(culling volume)。
Name Type Description
position Cartesian3 视点的位置。
direction Cartesian3 观察方向。
up Cartesian3 向上的方向。
返回值:
在给定的位置和方向上的剔除体(culling volume)。
示例:
// 检查包围盒是否与截锥体相交。
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实例。
返回值:
如果它们相等,则为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公差。
返回值:
如果两个都在规定的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 存储结果的对象。
返回值:
修改后的结果参数,或Cartesian2的新实例,其中x和y属性中分别为像素的宽度和高度。
异常情况:
示例:
// 获取一个像素的宽度和高度。
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 1.0, scene.pixelRatio, new Cesium.Cartesian2());

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)