new PolylineCollection(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
將每個(gè)多段線從模型坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)的4x4變換矩陣。 |
options.debugShowBoundingVolume
Boolean
default false
|
僅用于調(diào)試。確定是否顯示此基元的命令的邊界球。 |
Example
// Create a polyline collection with two polylines
var polylines = new bmgl.PolylineCollection();
polylines.add({
positions : bmgl.Cartesian3.fromDegreesArray([
-75.10, 39.57,
-77.02, 38.53,
-80.50, 35.14,
-80.12, 25.46]),
width : 2
});
polylines.add({
positions : bmgl.Cartesian3.fromDegreesArray([
-73.10, 37.57,
-75.02, 36.53,
-78.50, 33.14,
-78.12, 23.46]),
width : 4
});
Members
debugShowBoundingVolume : Boolean
此屬性僅用于調(diào)試;它既不用于生產(chǎn),也不進(jìn)行優(yōu)化。
為基本體中的每個(gè)draw命令繪制邊界球體。
-
Default Value:
false
length : Number
返回此集合中多段線的數(shù)目。這通常與
PolylineCollection#get
一起用于迭代集合中的所有多段線。
modelMatrix : Matrix4
4x4轉(zhuǎn)換矩陣,用于將此集合中的每個(gè)多段線從模型坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)。當(dāng)這是單位矩陣時(shí),多段線以世界坐標(biāo)繪制,即地球的wgs84坐標(biāo)。本地參考幀可以通過(guò)提供不同的轉(zhuǎn)換矩陣來(lái)使用,如
Transforms.eastNorthUpToFixedFrame
返回的轉(zhuǎn)換矩陣。
-
Default Value:
Matrix4.IDENTITY
Methods
add(options) → {Polyline}
創(chuàng)建具有指定初始屬性的多段線并將其添加到集合中。將返回添加的多段線,以便以后可以從集合中修改或刪除它。
Parameters:
options
(Object)
描述多段線屬性的模板,如示例1所示。
Example
// Example 1: Add a polyline, specifying all the default values.
var p = polylines.add({
show : true,
positions : ellipsoid.cartographicArrayToCartesianArray([
bmgl.Cartographic.fromDegrees(-75.10, 39.57),
bmgl.Cartographic.fromDegrees(-77.02, 38.53)]),
width : 1
});
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
確定此集合是否包含指定的多段線。
Parameters:
銷毀此對(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()。
返回集合中指定索引處的多段線。索引以零為基礎(chǔ),并隨著多段線的添加而增加。刪除多段線后,所有多段線都將向左移動(dòng),從而更改其索引。此函數(shù)通常與
PolylineCollection#length
一起用于迭代集合中的所有多段線。
Parameters:
index
(Number)
折線的從零開(kāi)始的索引。
Example
// Toggle the show property of every polyline in the collection
var len = polylines.length;
for (var i = 0; i < len; ++i) {
var p = polylines.get(i);
p.show = !p.show;
}
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
如果此對(duì)象被破壞,則返回true;否則返回false。
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
remove(polyline) → {Boolean}
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。
從集合中刪除多段線。
Parameters:
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
從集合中刪除所有多段線。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
當(dāng)
Viewer
或BMWidget
渲染場(chǎng)景以獲取渲染此原語(yǔ)所需的繪制命令時(shí)調(diào)用。不要直接調(diào)用此函數(shù)。這只是為了列出渲染場(chǎng)景時(shí)可能傳播的異常:
Throws
-
RuntimeError : 需要頂點(diǎn)紋理獲取支持來(lái)渲染具有每個(gè)實(shí)例屬性的基本體。頂點(diǎn)紋理圖像單位的最大數(shù)目必須大于零。