原语的集合。这通常与
new PrimitiveCollection(options)
Scene#primitives
一起使用,但PrimitiveCollection
本身也是一个原语,因此可以将集合添加到构成层次结构的集合中。
Parameters:
options
(Object)
Name | Description |
---|---|
options.show
Boolean
default true
|
确定是否显示集合中的基元。 |
options.destroyPrimitives
Boolean
default true
|
确定删除集合中的基元时是否将其销毁。 |
Example
var billboards = new bmgl.BillboardCollection();
var labels = new bmgl.LabelCollection();
var collection = new bmgl.PrimitiveCollection();
collection.add(billboards);
scene.primitives.add(collection); // Add collection
scene.primitives.add(labels); // Add regular primitive
Members
destroyPrimitives : Boolean
确定集合中的基元在被
PrimitiveCollection#destroy
或PrimitiveCollection#remove
删除时是被销毁,还是被PrimitiveCollection#removeAll
隐式删除。
-
Default Value:
true
Examples:
// Example 1. Primitives are destroyed by default.
var primitives = new bmgl.PrimitiveCollection();
var labels = primitives.add(new bmgl.LabelCollection());
primitives = primitives.destroy();
var b = labels.isDestroyed(); // true
// Example 2. Do not destroy primitives in a collection.
var primitives = new bmgl.PrimitiveCollection();
primitives.destroyPrimitives = false;
var labels = primitives.add(new bmgl.LabelCollection());
primitives = primitives.destroy();
var b = labels.isDestroyed(); // false
labels = labels.destroy(); // explicitly destroy
(readonly) length : Number
获取集合中的基元数。
show : Boolean
确定是否显示此集合中的基元。
-
Default Value:
true
Methods
add(primitive, index) → {Object}
向集合中添加基元。
Parameters:
primitive
(Object)
要添加的原语。
index
(Number)
添加层的索引。如果省略,则该原语将添加到所有现有原语的底部。
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
确定此集合是否包含基元。
Parameters:
primitive
(Object)
要检查的原语。
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
销毁此集合中每个原语持有的WebGL资源。显式销毁此集合允许确定地释放WebGL资源,而不是依赖垃圾收集器销毁此集合。
因为销毁集合会销毁所有包含的原语,所以仅当您确定没有其他代码仍在使用任何包含的原语时才销毁集合。
一旦销毁此集合,则不应使用它;调用除
因为销毁集合会销毁所有包含的原语,所以仅当您确定没有其他代码仍在使用任何包含的原语时才销毁集合。
一旦销毁此集合,则不应使用它;调用除
isDestroyed
以外的任何函数将导致DeveloperError
异常。因此,将返回值(undefined
)赋给对象,如示例中所述。
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
返回集合中指定索引处的基元。
Parameters:
index
(Number)
要返回的基元的从零开始的索引。
Example
// Toggle the show property of every primitive in the collection.
var primitives = scene.primitives;
var length = primitives.length;
for (var i = 0; i < length; ++i) {
var p = primitives.get(i);
p.show = !p.show;
}
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
降低集合中的原始“向下一个”。如果集合中的所有基本体都绘制在球体曲面上,则这会在视觉上将基本体向下移动。
Parameters:
primitive
(Object)
把原始的降下来。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此对象已被销毁,即调用destroy()。
将原语降低到集合的“底部”。如果集合中的所有基本体都绘制在球体曲面上,则这会将基本体从视觉上移动到底部。
Parameters:
primitive
(Object)
把原始的降到底部。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此对象已被销毁,即调用destroy()。
在集合中引发基元“up one”。如果集合中的所有基本体都绘制在球体曲面上,则这会在视觉上将基本体向上移动。
Parameters:
primitive
(Object)
要抚养的原始人。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此对象已被销毁,即调用destroy()。
将基元提升到集合的“顶部”。如果集合中的所有基本体都绘制在球体曲面上,则这会将基本体从视觉上移动到顶部。
Parameters:
primitive
(Object)
提升顶端的原始元素。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此对象已被销毁,即调用destroy()。
从集合中移除基元。
Parameters:
primitive
(Object)
要删除的原语。
Example
var billboards = scene.primitives.add(new bmgl.BillboardCollection());
scene.primitives.remove(p); // Returns true
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
删除集合中的所有基元。
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。