提供时间动态点云数据的回放。
点云帧按平均帧加载时间和当前时钟速度确定的间隔进行预取。如果中间帧不能及时加载以满足播放速度,它们将被跳过。如果帧足够小或时钟足够慢,则不会跳过任何帧。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
Members
readonly boundingSphere : BoundingSphere
正在渲染的帧的边界球。如果没有渲染任何帧,则返回
undefined
。
clippingPlanes : ClippingPlaneCollection
ClippingPlaneCollection
用于选择性地禁用点云渲染。
frameChanged : Event
触发该事件以指示渲染了新帧。
时间动态点云
TimeDynamicPointCloud
被传递给事件监听器。
-
Default Value:
new Event()
Example:
pointCloud.frameChanged.addEventListener(function(timeDynamicPointCloud) {
viewer.camera.viewBoundingSphere(timeDynamicPointCloud.boundingSphere);
});
frameFailed : Event
触发事件以指示帧加载失败。如果对其 uri 的请求失败或由于无效内容而导致处理失败,则框架可能无法加载。
如果没有事件侦听器,错误消息将记录到控制台。
传递给侦听器的错误对象包含两个属性:
-
uri
:失败帧的 uri。 -
message
:错误消息。
-
Default Value:
new Event()
Example:
pointCloud.frameFailed.addEventListener(function(error) {
console.log(`An error occurred loading frame: ${error.uri}`);
console.log(`Error: ${error.message}`);
});
可用于缓存点云帧的最大 GPU 内存量(以 MB 为单位)。
未加载或渲染的帧将被卸载以强制执行此操作。
如果减小此值导致卸载图块,则将在下一帧卸载图块。
-
Default Value:
256
See:
modelMatrix : Matrix4
转换点云的 4x4 转换矩阵。
-
Default Value:
Matrix4.IDENTITY
readonly readyPromise : Promise.< TimeDynamicPointCloud >
获取点云第一次渲染帧时将被解析的 promise。
根据几何误差和眼罩照明控制点大小的选项。
shadows : ShadowMode
确定点云是投射还是接收来自光源的阴影。
启用阴影会影响性能。投射阴影的点云必须渲染两次,一次来自相机,另一次来自灯光的视点。
仅当
Viewer#shadows
为
true
时才会渲染阴影。
-
Default Value:
ShadowMode.ENABLED
确定是否显示点云。
-
Default Value:
true
使用
3D Tiles Styling 语言
定义的样式应用于点云中的每个点。
指定
undefined
以删除样式,这将在未应用样式时将点云的视觉外观恢复为其默认值。
Example:
pointCloud.style = new Cesium.Cesium3DTileStyle({
color : {
conditions : [
['${Classification} === 0', 'color("purple", 0.5)'],
['${Classification} === 1', 'color("red")'],
['true', '${COLOR}']
]
},
show : '${Classification} !== 2'
});
See:
点云使用的 GPU 内存总量(以字节为单位)。
Methods
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。
一旦一个对象被销毁,它就不应该被使用;调用
一旦一个对象被销毁,它就不应该被使用;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。因此,如示例中所做的那样,将返回值 (
undefined
) 分配给对象。
Throws:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
Example:
pointCloud = pointCloud && pointCloud.destroy();
See:
Returns:
如果此对象被销毁,则为
true
;否则,
false
。
将点云的
TimeDynamicPointCloud#style
标记为脏,这会强制所有点在下一帧中重新评估样式。