PolylineCollection

多段线的可渲染集合。


示例多段线


多段线使用PolylineCollection#addPolylineCollection#remove从集合中添加和删除。
new PolylineCollection(options)
Parameters:
options (Object)
Name Description
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
将每个多段线从模型坐标转换为世界坐标的4x4变换矩阵。
options.debugShowBoundingVolume
Boolean
default false
仅用于调试。确定是否显示此基元的命令的边界球。
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
});
See:

Members

debugShowBoundingVolume : Boolean

此属性仅用于调试;它既不用于生产,也不进行优化。

为基本体中的每个draw命令绘制边界球体。

Default Value: false

length : Number

返回此集合中多段线的数目。这通常与PolylineCollection#get一起用于迭代集合中的所有多段线。

modelMatrix : Matrix4

4x4转换矩阵,用于将此集合中的每个多段线从模型坐标转换为世界坐标。当这是单位矩阵时,多段线以世界坐标绘制,即地球的wgs84坐标。本地参考帧可以通过提供不同的转换矩阵来使用,如Transforms.eastNorthUpToFixedFrame返回的转换矩阵。
Default Value: Matrix4.IDENTITY

Methods

add(options) → {Polyline}
创建具有指定初始属性的多段线并将其添加到集合中。将返回添加的多段线,以便以后可以从集合中修改或删除它。
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
See:
contains(polyline) → {Boolean}
确定此集合是否包含指定的多段线。
Parameters:
polyline (Polyline) 要检查的多段线。
See:
destroy()
销毁此对象持有的WebGL资源。销毁对象允许确定地释放WebGL资源,而不是依赖垃圾收集器来销毁此对象。

一旦对象被破坏,就不应使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例中所述。
Example
polylines = polylines && polylines.destroy();
Throws
See:
get(index) → {Polyline}
返回集合中指定索引处的多段线。索引以零为基础,并随着多段线的添加而增加。删除多段线后,所有多段线都将向左移动,从而更改其索引。此函数通常与PolylineCollection#length一起用于迭代集合中的所有多段线。
Parameters:
index (Number) 折线的从零开始的索引。
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
See:
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。
See:
remove(polyline) → {Boolean}
从集合中删除多段线。
Parameters:
polyline (Polyline) 要删除的多段线。
Example
var p = polylines.add(...);
polylines.remove(p);  // Returns true
Throws
See:
removeAll()
从集合中删除所有多段线。
Example
polylines.add(...);
polylines.add(...);
polylines.removeAll();
Throws
See:
update()
ViewerBMWidget渲染场景以获取渲染此原语所需的绘制命令时调用。

不要直接调用此函数。这只是为了列出渲染场景时可能传播的异常:

Throws
  • RuntimeError : 需要顶点纹理获取支持来渲染具有每个实例属性的基本体。顶点纹理图像单位的最大数目必须大于零。