麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - PrimitiveCollection 中文文档

本文介绍下Cesium中 PrimitiveCollection API的详细使用说明。

PrimitiveCollection API 调用方法

new Cesium.PrimitiveCollection(options)
Primitive的集合。通常被Scene#primitives使用。可以向其中添加Primitive,也可以添加PrimitiveCollection。
Name Type Description
options Object optional 具有下列属性的对象:
Name Type Default Description
show Boolean true optional 是否显示集合中的图元。
destroyPrimitives Boolean true 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();    // 显式销毁
readonlylength : Number
获取集合中图元的数量。
是否显示集合中的图元。
Default Value: true

内置方法

add(primitive, index)Object
向集合中添加图元。
Name Type Description
primitive Object 要添加的图元。
index Number optional 要添加图元的索引,如果省略将被添加到集合最底层。
返回值:
添加到集合中的图元。
异常情况:
示例:
var billboards = scene.primitives.add(new Cesium.BillboardCollection());
contains(primitive)Boolean
集合中是否包含此图元。
Name Type Description
primitive Object optional 需要查询的图元。
返回值:
如果找到该图元返回true,如果图元为undefined或者未找到则返回false
异常情况:
参考:
销毁此集合中每个图元持有的WebGL资源。 显式销毁这个集合允许WebGL资源的确定性释放,而不是依赖于垃圾收集器来销毁这个集合。

因为销毁一个集合会销毁所有包含的图元,所以只有在您确定没有其他代码仍在使用任何一个包含的图元时才销毁此集合。

一旦对象被销毁,它将不能在使用; 调用除isDestroyed之外的任何函数都会导致DeveloperError异常。 因此,将返回值(undefined)赋给对象,如示例所示。
异常情况:
示例:
primitives = primitives && primitives.destroy();
参考:
get(index)Object
返回指定索引处的图元。
Name Type Description
index Number 传入的索引。
返回值:
返回的index处的图元。
异常情况:
示例:
// 切换集合中每个图元的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;
}
参考:
isDestroyed()Boolean
如果该对象没被销毁,返回false。

如果该对象已经被销毁,使用isDestroyed 会触发 DeveloperError 异常.
返回值:
如果该对象没被销毁,返回false。
参考:
将图元在集合中的位置下移一位(如果所有图元都被绘制在地球上,这意味着在视觉上把图元向下移动了一位)。
Name Type Description
primitive Object optional 要被向下移动的图元。
异常情况:
参考:
lowerToBottom(primitive)
将图元在集合中的位置移到最下面(如果所有图元都被绘制在地球上,这意味着在视觉上把图元移到最下面)。
Name Type Description
primitive Object optional 被移到到最下面的图元。
异常情况:
参考:
将图元在集合中的位置上移一位(如果所有图元都被绘制在地球上,这意味着在视觉上把图元向上移动了一位)。
Name Type Description
primitive Object optional 要被向上移动的图元。
异常情况:
参考:
raiseToTop(primitive)
将图元在集合中的位置移到最上面 (如果所有图元都被绘制在地球上,这意味着在视觉上把图元移到最上面)。
Name Type Description
primitive Object optional 被移到到最上面的图元。
异常情况:
参考:
remove(primitive)Boolean
从集合中移除图元。
Name Type Description
primitive Object optional 将要被移除的图元。
返回值:
如果图元被删除返回true,如果图元为undefined或者未找到则返回false
异常情况:
  • DeveloperError : 这个对象已经被销毁,即destroy()被调用。
示例:
var billboards = scene.primitives.add(new Cesium.BillboardCollection());
scene.primitives.remove(p);  // 返回true
参考:
从集合中移除所有图元。
异常情况:
  • DeveloperError : 这个对象已经被销毁,即destroy()被调用。
参考:

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)