new Cesium.PrimitiveCollection(options)
Primitive的集合。通常被
Scene#primitives
使用。可以向其中添加Primitive,也可以添加PrimitiveCollection。
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
具有下列属性的对象:
|
示例:
var billboards = new Cesium.BillboardCollection();
var labels = new Cesium.LabelCollection();
var collection = new Cesium.PrimitiveCollection();
collection.add(billboards);
scene.primitives.add(collection); // 添加PrimitiveCollection集合
scene.primitives.add(labels); // 添加Primitive图元
成员变量
destroyPrimitives : Boolean
确定当
PrimitiveCollection#destroy
删除或PrimitiveCollection#remove
删除
或PrimitiveCollection#removeAll
隐式删除集合中的图元时,该图元是否被销毁。
-
Default Value:
true
示例:
// 例1. 默认情况下会销毁图元。
var primitives = new Cesium.PrimitiveCollection();
var labels = primitives.add(new Cesium.LabelCollection());
primitives = primitives.destroy();
var b = labels.isDestroyed(); // true
// 例2. 不销毁集合中的图元。
var primitives = new Cesium.PrimitiveCollection();
primitives.destroyPrimitives = false;
var labels = primitives.add(new Cesium.LabelCollection());
primitives = primitives.destroy();
var b = labels.isDestroyed(); // false
labels = labels.destroy(); // 显式销毁
获取集合中图元的数量。
show : Boolean
是否显示集合中的图元。
-
Default Value:
true
内置方法
向集合中添加图元。
Name | Type | Description |
---|---|---|
primitive |
Object | 要添加的图元。 |
index |
Number | optional 要添加图元的索引,如果省略将被添加到集合最底层。 |
返回值:
添加到集合中的图元。
异常情况:
-
DeveloperError : 这个对象已经被销毁。
示例:
var billboards = scene.primitives.add(new Cesium.BillboardCollection());
集合中是否包含此图元。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 需要查询的图元。 |
返回值:
如果找到该图元返回
true
,如果图元为undefined或者未找到则返回false
。
异常情况:
-
DeveloperError : 这个对象已经被销毁。
destroy()
销毁此集合中每个图元持有的WebGL资源。
显式销毁这个集合允许WebGL资源的确定性释放,而不是依赖于垃圾收集器来销毁这个集合。
因为销毁一个集合会销毁所有包含的图元,所以只有在您确定没有其他代码仍在使用任何一个包含的图元时才销毁此集合。
一旦对象被销毁,它将不能在使用; 调用除
因为销毁一个集合会销毁所有包含的图元,所以只有在您确定没有其他代码仍在使用任何一个包含的图元时才销毁此集合。
一旦对象被销毁,它将不能在使用; 调用除
isDestroyed
之外的任何函数都会导致DeveloperError
异常。
因此,将返回值(undefined
)赋给对象,如示例所示。
异常情况:
-
DeveloperError : 对象已经被销毁,即destroy()被调用。
示例:
primitives = primitives && primitives.destroy();
参考:
返回指定索引处的图元。
Name | Type | Description |
---|---|---|
index |
Number | 传入的索引。 |
返回值:
返回的
index
处的图元。
异常情况:
-
DeveloperError : 这个对象已经被销毁。
示例:
// 切换集合中每个图元的show属性。
var primitives = scene.primitives;
var length = primitives.length;
for (var i = 0; i < length; ++i) {
var p = primitives.get(i);
p.show = !p.show;
}
参考:
返回值:
如果该对象没被销毁,返回false。
lower(primitive)
将图元在集合中的位置下移一位(如果所有图元都被绘制在地球上,这意味着在视觉上把图元向下移动了一位)。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 要被向下移动的图元。 |
异常情况:
-
DeveloperError : 图元不在这个集合内。
-
DeveloperError : 这个对象已经被销毁。
lowerToBottom(primitive)
将图元在集合中的位置移到最下面(如果所有图元都被绘制在地球上,这意味着在视觉上把图元移到最下面)。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 被移到到最下面的图元。 |
异常情况:
-
DeveloperError : 图元不在这个集合内。
-
DeveloperError : 这个对象已经被销毁。
raise(primitive)
将图元在集合中的位置上移一位(如果所有图元都被绘制在地球上,这意味着在视觉上把图元向上移动了一位)。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 要被向上移动的图元。 |
异常情况:
-
DeveloperError : 图元不在这个集合内。
-
DeveloperError : 这个对象已经被销毁。
raiseToTop(primitive)
将图元在集合中的位置移到最上面 (如果所有图元都被绘制在地球上,这意味着在视觉上把图元移到最上面)。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 被移到到最上面的图元。 |
异常情况:
-
DeveloperError : 图元不在这个集合内。
-
DeveloperError : 这个对象已经被销毁。
从集合中移除图元。
Name | Type | Description |
---|---|---|
primitive |
Object | optional 将要被移除的图元。 |
返回值:
如果图元被删除返回
true
,如果图元为undefined或者未找到则返回false
。
异常情况:
-
DeveloperError : 这个对象已经被销毁,即destroy()被调用。
示例:
var billboards = scene.primitives.add(new Cesium.BillboardCollection());
scene.primitives.remove(p); // 返回true
参考:
removeAll()
从集合中移除所有图元。
异常情况:
-
DeveloperError : 这个对象已经被销毁,即destroy()被调用。