| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
具有以下属性的对象:
|
Example:
// 创建具有两个积云的云集合
const clouds = scene.primitives.add(new Cesium.CloudCollection());
clouds.add({
position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
maximumSize: new Cesium.Cartesian3(20.0, 12.0, 8.0)
});
clouds.add({
position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
maximumSize: new Cesium.Cartesian3(15.0, 9.0, 9.0),
slice: 0.5
});
Demo:
See:
Members
此属性仅用于调试;不用于生产环境且未进行优化。
使用一种不透明颜色渲染广告牌以进行调试。
-
Default Value:
false
此属性仅用于调试;不用于生产环境且未进行优化。
将云绘制为不透明的单色椭球体以进行调试。
如果 debugBillboards 也为 true,则椭球体将绘制在广告牌之上。
-
Default Value:
false
返回此集合中云的数量。
控制在预计算噪声纹理中捕获的 Detail 量,
用于渲染积云。为了使纹理可平铺,
这必须是 2 的幂。为了获得最佳结果,将其设置为
8.0 到 32.0(含)之间的 2 的幂。
clouds.noiseDetail = 8.0;
|
clouds.noiseDetail = 32.0;
|
-
Default Value:
16.0
noiseOffset : Cartesian3
对噪声纹理坐标应用平移以生成不同的数据。 如果默认噪声不能生成美观的云,可以修改此项。
default
|
clouds.noiseOffset = new Cesium.Cartesian3(10, 20, 10);
|
-
Default Value:
Cartesian3.ZERO
确定此集合中的广告牌是否将显示。
-
Default Value:
true
Methods
add(options) → CumulusCloud
创建具有指定初始属性的云并将其添加到集合中。
返回添加的云,以便稍后可以修改或从集合中移除。
Performance:
调用 add 预期为常数时间。但是,集合的顶点缓冲区
会被重写——这是一个 O(n) 操作,也会产生 CPU 到 GPU 的开销。为了
获得最佳性能,在调用 update 之前添加尽可能多的云。
| Name | Type | Description |
|---|---|---|
options |
object | optional 描述云属性的模板,如示例 1 所示。 |
Returns:
添加到集合的云。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Examples:
// 示例 1:添加积云,指定所有默认值。
const c = clouds.add({
show : true,
position : Cesium.Cartesian3.ZERO,
scale : new Cesium.Cartesian2(20.0, 12.0),
maximumSize: new Cesium.Cartesian3(20.0, 12.0, 12.0),
slice: -1.0,
cloudType : CloudType.CUMULUS
});
// 示例 2:仅指定云的笛卡尔位置。
const c = clouds.add({
position : Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
});
See:
检查此集合是否包含给定的云。
| Name | Type | Description |
|---|---|---|
cloud |
CumulusCloud | optional 要检查的云。 |
Returns:
如果此集合包含云则返回 true,否则返回 false。
See:
销毁此对象持有的 WebGL 资源。销毁对象允许确定性
释放 WebGL 资源,而不是依赖垃圾回收器来销毁此对象。
对象销毁后不应再使用;调用除
对象销毁后不应再使用;调用除
isDestroyed 之外的任何函数都将导致 DeveloperError 异常。因此,
如示例所示,将返回值(undefined)赋给该对象。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
clouds = clouds && clouds.destroy();
See:
get(index) → CumulusCloud
返回集合中指定索引处的云。索引从零开始
随着添加云而增加。移除云会将其后的所有云左移,
更改它们的索引。此函数通常与
CloudCollection#length 一起使用以遍历集合中的所有云。
Performance:
预期为常数时间。如果从集合中移除了云且
未调用 CloudCollection#update,则执行隐式的 O(n)
操作。
| Name | Type | Description |
|---|---|---|
index |
number | 云的从零开始的索引。 |
Returns:
指定索引处的云。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
// 切换集合中每个云的显示属性
const len = clouds.length;
for (let i = 0; i < len; ++i) {
const c = clouds.get(i);
c.show = !c.show;
}
See:
Returns:
如果此对象已被销毁则返回
true;否则返回 false。
从集合中移除云。
| Name | Type | Description |
|---|---|---|
cloud |
CumulusCloud | 要移除的云。 |
Returns:
如果云被移除则返回
true;如果在集合中未找到云则返回 false。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
const c = clouds.add(...);
clouds.remove(c); // 返回 true
See:
从集合中移除所有云。
Performance:
O(n)。从集合中移除所有云
然后添加新云比完全创建新集合更高效。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
clouds.add(...);
clouds.add(...);
clouds.removeAll();

