提供時(shí)間動(dòng)態(tài)點(diǎn)云數(shù)據(jù)的回放。
new TimeDynamicPointCloud(options)
點(diǎn)云幀以平均幀加載時(shí)間和當(dāng)前時(shí)鐘速度確定的間隔預(yù)取。如果無(wú)法及時(shí)加載中間幀以滿足播放速度,則將跳過(guò)中間幀。如果幀足夠小或時(shí)鐘足夠慢,則不會(huì)跳過(guò)任何幀。
Parameters:
options
(Object)
Name | Description |
---|---|
options.clock
Clock
|
確定時(shí)間維度值時(shí)使用的Clock 實(shí)例。
|
options.intervals
TimeIntervalCollection
|
aTimeIntervalCollection 其數(shù)據(jù)屬性是包含uri 到三維瓦片點(diǎn)云瓦片和可選transform 的對(duì)象。
|
options.show
Boolean
default true
|
確定是否顯示點(diǎn)云。 |
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
轉(zhuǎn)換點(diǎn)云的4x4變換矩陣。 |
options.shadows
ShadowMode
default ShadowMode.ENABLED
|
確定點(diǎn)云是投射還是接收來(lái)自每個(gè)光源的陰影。 |
options.maximumMemoryUsage
Number
default 256
|
點(diǎn)云可以使用的最大內(nèi)存量(MB)。 |
options.shading
Object
|
用于構(gòu)建PointCloudShading 對(duì)象以控制點(diǎn)衰減和眼罩照明的選項(xiàng)。
|
options.style
BM3DTileStyle
|
使用3D Tiles Styling language定義的樣式,應(yīng)用于點(diǎn)云中的每個(gè)點(diǎn)。 |
options.clippingPlanes
ClippingPlaneCollection
|
ClippingPlaneCollection 用于有選擇地禁用渲染點(diǎn)云。
|
Members
(readonly) boundingSphere : BoundingSphere
正在渲染的幀的邊界球體。如果未呈現(xiàn)幀,則返回
undefined
。
clippingPlanes : ClippingPlaneCollection
ClippingPlaneCollection
用于有選擇地禁用渲染點(diǎn)云。
frameChanged : Event
觸發(fā)的事件指示已呈現(xiàn)新幀。
時(shí)間動(dòng)態(tài)點(diǎn)云TimeDynamicPointCloud
傳遞給事件偵聽(tīng)器。
-
Default Value:
new Event()
Example:
pointCloud.frameChanged.addEventListener(function(timeDynamicPointCloud) {
viewer.camera.viewBoundingSphere(timeDynamicPointCloud.boundingSphere);
});
frameFailed : Event
觸發(fā)的事件指示未能加載幀。如果對(duì)其uri的請(qǐng)求失敗或由于內(nèi)容無(wú)效而處理失敗,則幀可能無(wú)法加載。
如果沒(méi)有事件監(jiān)聽(tīng)器,錯(cuò)誤消息將記錄到控制臺(tái)。
傳遞給偵聽(tīng)器的錯(cuò)誤對(duì)象包含兩個(gè)屬性:
uri
:失敗幀的URI。message
:錯(cuò)誤消息。
-
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
可用于緩存點(diǎn)云幀的最大GPU內(nèi)存量(以MB為單位)。
未加載或渲染的幀將卸載以強(qiáng)制執(zhí)行此操作。
如果減小該值導(dǎo)致卸載瓦片,則在下一幀卸載瓦片。
-
Default Value:
256
See:
modelMatrix : Matrix4
轉(zhuǎn)換點(diǎn)云的4x4變換矩陣。
-
Default Value:
Matrix4.IDENTITY
(readonly) readyPromise : Promise.<TimeDynamicPointCloud>
獲取將在點(diǎn)云首次呈現(xiàn)幀時(shí)解決的承諾。
shading : PointCloudShading
基于幾何誤差和眼罩照明控制點(diǎn)大小的選項(xiàng)。
shadows : ShadowMode
確定點(diǎn)云是投射還是接收來(lái)自每個(gè)光源的陰影。
啟用陰影會(huì)影響性能。投射陰影的點(diǎn)云必須渲染兩次,一次從相機(jī)渲染,一次從燈光渲染。
陰影僅在Viewer#shadows
為true
時(shí)呈現(xiàn)。
-
Default Value:
ShadowMode.ENABLED
show : Boolean
確定是否顯示點(diǎn)云。
-
Default Value:
true
style : BM3DTileStyle
使用3D Tiles Styling language定義的樣式,應(yīng)用于點(diǎn)云中的每個(gè)點(diǎn)。
assignundefined
刪除樣式,這將在未應(yīng)用樣式時(shí)將點(diǎn)云的視覺(jué)外觀恢復(fù)為默認(rèn)外觀。
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
點(diǎn)云使用的GPU內(nèi)存總量(字節(jié))。
Methods
destroy()
銷毀此對(duì)象持有的WebGL資源。銷毀對(duì)象允許確定地釋放WebGL資源,而不是依賴?yán)占鱽?lái)銷毀此對(duì)象。
一旦對(duì)象被破壞,就不應(yīng)使用它;調(diào)用除
一旦對(duì)象被破壞,就不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)都將導(dǎo)致DeveloperError
異常。因此,將返回值(undefined
)賦給對(duì)象,如示例中所述。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
如果此對(duì)象被破壞,則返回true;否則返回false。
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
makeStyleDirty()
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。
將點(diǎn)云的
TimeDynamicPointCloud#style
標(biāo)記為臟,這將強(qiáng)制所有點(diǎn)在下一幀中重新評(píng)估樣式。