提供時間動態點云數據的回放。
new TimeDynamicPointCloud(options)
點云幀以平均幀加載時間和當前時鐘速度確定的間隔預取。如果無法及時加載中間幀以滿足播放速度,則將跳過中間幀。如果幀足夠小或時鐘足夠慢,則不會跳過任何幀。
Parameters:
options
(Object)
Name | Description |
---|---|
options.clock
Clock
|
確定時間維度值時使用的Clock 實例。
|
options.intervals
TimeIntervalCollection
|
aTimeIntervalCollection 其數據屬性是包含uri 到三維瓦片點云瓦片和可選transform 的對象。
|
options.show
Boolean
default true
|
確定是否顯示點云。 |
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
轉換點云的4x4變換矩陣。 |
options.shadows
ShadowMode
default ShadowMode.ENABLED
|
確定點云是投射還是接收來自每個光源的陰影。 |
options.maximumMemoryUsage
Number
default 256
|
點云可以使用的最大內存量(MB)。 |
options.shading
Object
|
用于構建PointCloudShading 對象以控制點衰減和眼罩照明的選項。
|
options.style
BM3DTileStyle
|
使用3D Tiles Styling language定義的樣式,應用于點云中的每個點。 |
options.clippingPlanes
ClippingPlaneCollection
|
ClippingPlaneCollection 用于有選擇地禁用渲染點云。
|
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);
});
maximumMemoryUsage : Number
可用于緩存點云幀的最大GPU內存量(以MB為單位)。
未加載或渲染的幀將卸載以強制執行此操作。
如果減小該值導致卸載瓦片,則在下一幀卸載瓦片。
-
Default Value:
256
See:
modelMatrix : Matrix4
轉換點云的4x4變換矩陣。
-
Default Value:
Matrix4.IDENTITY
(readonly) readyPromise : Promise.<TimeDynamicPointCloud>
獲取將在點云首次呈現幀時解決的承諾。
shading : PointCloudShading
基于幾何誤差和眼罩照明控制點大小的選項。
shadows : ShadowMode
確定點云是投射還是接收來自每個光源的陰影。
啟用陰影會影響性能。投射陰影的點云必須渲染兩次,一次從相機渲染,一次從燈光渲染。
陰影僅在Viewer#shadows
為true
時呈現。
-
Default Value:
ShadowMode.ENABLED
show : Boolean
確定是否顯示點云。
-
Default Value:
true
style : BM3DTileStyle
使用3D Tiles Styling language定義的樣式,應用于點云中的每個點。
assignundefined
刪除樣式,這將在未應用樣式時將點云的視覺外觀恢復為默認外觀。
Example:
pointCloud.style = new bmgl.BM3DTileStyle({
color : {
conditions : [
['${Classification} === 0', 'color("purple", 0.5)'],
['${Classification} === 1', 'color("red")'],
['true', '${COLOR}']
]
},
show : '${Classification} !== 2'
});
(readonly) totalMemoryUsageInBytes : Number
點云使用的GPU內存總量(字節)。
Methods
destroy()
銷毀此對象持有的WebGL資源。銷毀對象允許確定地釋放WebGL資源,而不是依賴垃圾收集器來銷毀此對象。
一旦對象被破壞,就不應使用它;調用除
一旦對象被破壞,就不應使用它;調用除
isDestroyed
以外的任何函數都將導致DeveloperError
異常。因此,將返回值(undefined
)賦給對象,如示例中所述。
Throws
-
DeveloperError : 此對象已被銷毀,即調用destroy()。
將點云的
TimeDynamicPointCloud#style
標記為臟,這將強制所有點在下一幀中重新評估樣式。