PrimitiveCollection

原语的集合。这通常与Scene#primitives一起使用,但PrimitiveCollection本身也是一个原语,因此可以将集合添加到构成层次结构的集合中。
new PrimitiveCollection(options)
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#destroyPrimitiveCollection#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) 添加层的索引。如果省略,则该原语将添加到所有现有原语的底部。
Example
var billboards = scene.primitives.add(new bmgl.BillboardCollection());
Throws
contains(primitive) → {Boolean}
确定此集合是否包含基元。
Parameters:
primitive (Object) 要检查的原语。
Throws
See:
destroy()
销毁此集合中每个原语持有的WebGL资源。显式销毁此集合允许确定地释放WebGL资源,而不是依赖垃圾收集器销毁此集合。

因为销毁集合会销毁所有包含的原语,所以仅当您确定没有其他代码仍在使用任何包含的原语时才销毁集合。

一旦销毁此集合,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例中所述。
Example
primitives = primitives && primitives.destroy();
Throws
See:
get(index) → {Object}
返回集合中指定索引处的基元。
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
See:
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。
See:
lower(primitive)
降低集合中的原始“向下一个”。如果集合中的所有基本体都绘制在球体曲面上,则这会在视觉上将基本体向下移动。
Parameters:
primitive (Object) 把原始的降下来。
Throws
See:
lowerToBottom(primitive)
将原语降低到集合的“底部”。如果集合中的所有基本体都绘制在球体曲面上,则这会将基本体从视觉上移动到底部。
Parameters:
primitive (Object) 把原始的降到底部。
Throws
See:
raise(primitive)
在集合中引发基元“up one”。如果集合中的所有基本体都绘制在球体曲面上,则这会在视觉上将基本体向上移动。
Parameters:
primitive (Object) 要抚养的原始人。
Throws
See:
raiseToTop(primitive)
将基元提升到集合的“顶部”。如果集合中的所有基本体都绘制在球体曲面上,则这会将基本体从视觉上移动到顶部。
Parameters:
primitive (Object) 提升顶端的原始元素。
Throws
See:
remove(primitive) → {Boolean}
从集合中移除基元。
Parameters:
primitive (Object) 要删除的原语。
Example
var billboards = scene.primitives.add(new bmgl.BillboardCollection());
scene.primitives.remove(p);  // Returns true
Throws
See:
removeAll()
删除集合中的所有基元。
Throws
See: