原語的集合。這通常與
new PrimitiveCollection(options)
Scene#primitives
一起使用,但PrimitiveCollection
本身也是一個(gè)原語,因此可以將集合添加到構(gòu)成層次結(jié)構(gòu)的集合中。
Parameters:
options
(Object)
Name | Description |
---|---|
options.show
Boolean
default true
|
確定是否顯示集合中的基元。 |
options.destroyPrimitives
Boolean
default true
|
確定刪除集合中的基元時(shí)是否將其銷毀。 |
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
刪除時(shí)是被銷毀,還是被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
獲取集合中的基元數(shù)。
show : Boolean
確定是否顯示此集合中的基元。
-
Default Value:
true
Methods
add(primitive, index) → {Object}
向集合中添加基元。
Parameters:
primitive
(Object)
要添加的原語。
index
(Number)
添加層的索引。如果省略,則該原語將添加到所有現(xiàn)有原語的底部。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
確定此集合是否包含基元。
Parameters:
primitive
(Object)
要檢查的原語。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
銷毀此集合中每個(gè)原語持有的WebGL資源。顯式銷毀此集合允許確定地釋放WebGL資源,而不是依賴?yán)占麂N毀此集合。
因?yàn)殇N毀集合會(huì)銷毀所有包含的原語,所以僅當(dāng)您確定沒有其他代碼仍在使用任何包含的原語時(shí)才銷毀集合。
一旦銷毀此集合,則不應(yīng)使用它;調(diào)用除
因?yàn)殇N毀集合會(huì)銷毀所有包含的原語,所以僅當(dāng)您確定沒有其他代碼仍在使用任何包含的原語時(shí)才銷毀集合。
一旦銷毀此集合,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。因此,將返回值(undefined
)賦給對(duì)象,如示例中所述。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用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 : 此對(duì)象已被銷毀,即調(diào)用destroy()。
如果此對(duì)象被破壞,則返回true;否則返回false。
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
lower(primitive)
如果此對(duì)象被破壞,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。
降低集合中的原始“向下一個(gè)”。如果集合中的所有基本體都繪制在球體曲面上,則這會(huì)在視覺上將基本體向下移動(dòng)。
Parameters:
primitive
(Object)
把原始的降下來。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
將原語降低到集合的“底部”。如果集合中的所有基本體都繪制在球體曲面上,則這會(huì)將基本體從視覺上移動(dòng)到底部。
Parameters:
primitive
(Object)
把原始的降到底部。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
在集合中引發(fā)基元“up one”。如果集合中的所有基本體都繪制在球體曲面上,則這會(huì)在視覺上將基本體向上移動(dòng)。
Parameters:
primitive
(Object)
要撫養(yǎng)的原始人。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
將基元提升到集合的“頂部”。如果集合中的所有基本體都繪制在球體曲面上,則這會(huì)將基本體從視覺上移動(dòng)到頂部。
Parameters:
primitive
(Object)
提升頂端的原始元素。
Throws
-
DeveloperError : 基元不在此集合中。
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
從集合中移除基元。
Parameters:
primitive
(Object)
要?jiǎng)h除的原語。
Example
var billboards = scene.primitives.add(new bmgl.BillboardCollection());
scene.primitives.remove(p); // Returns true
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。
刪除集合中的所有基元。
Throws
-
DeveloperError : 此對(duì)象已被銷毀,即調(diào)用destroy()。