指定一组裁剪多边形。裁剪多边形选择性地禁用对单个glTF模型、3D Tileset或地球的内部或外部区域的渲染。
裁剪多边形仅在WebGL 2上下文中受支持。
| Name | Type | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
包含以下属性的对象:
|
Example:
const positions = Cesium.Cartesian3.fromRadiansArray([
-1.3194369277314022,
0.6988062530900625,
-1.31941,
0.69879,
-1.3193955980204217,
0.6988091578771254,
-1.3193931220959367,
0.698743632490865,
-1.3194358224045408,
0.6987471965556998,
]);
const polygon = new Cesium.ClippingPolygon({
positions: positions
});
const polygons = new Cesium.ClippingPolygonCollection({
polygons: [ polygon ]
});
Members
返回此集合中的多边形数量。通常与
ClippingPolygonCollection#get一起使用,以遍历集合中的所有多边形。
polygonAdded : Event
当新裁剪多边形被添加到集合中时触发的事件。事件处理程序会传递新多边形及其被添加的索引。
-
Default Value:
Event()
polygonRemoved : Event
当新裁剪多边形从集合中移除时触发的事件。事件处理程序会传递被移除的多边形及其被移除的索引。
-
Default Value:
Event()
Methods
用于检查上下文是否允许使用裁剪多边形,这需要浮点纹理。
| Name | Type | Description |
|---|---|---|
scene |
Scene | object | 将包含裁剪对象和裁剪纹理的场景。 |
Returns:
如果上下文支持裁剪多边形,则返回
true。
将指定的
ClippingPolygon添加到集合中,以选择性地禁用每个多边形内部区域的渲染。使用ClippingPolygonCollection#unionClippingRegions修改多个多边形的裁剪行为。
| Name | Type | Description |
|---|---|---|
polygon |
ClippingPolygon | 要添加到集合中的ClippingPolygon。 |
Returns:
被添加的ClippingPolygon。
Example:
const polygons = new Cesium.ClippingPolygonCollection();
const positions = Cesium.Cartesian3.fromRadiansArray([
-1.3194369277314022,
0.6988062530900625,
-1.31941,
0.69879,
-1.3193955980204217,
0.6988091578771254,
-1.3193931220959367,
0.698743632490865,
-1.3194358224045408,
0.6987471965556998,
]);
polygons.add(new Cesium.ClippingPolygon({
positions: positions
}));
See:
检查此集合是否包含与给定ClippingPolygon相等的ClippingPolygon。
| Name | Type | Description |
|---|---|---|
polygon |
ClippingPolygon | 要检查的ClippingPolygon。 |
Returns:
如果此集合包含该ClippingPolygon,则返回true,否则返回false。
销毁此对象持有的WebGL资源。销毁对象允许确定性地释放WebGL资源,而不是依赖垃圾收集器来销毁此对象。
一旦对象被销毁,它就不应再被使用;调用
一旦对象被销毁,它就不应再被使用;调用
isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例所示。
Throws:
-
DeveloperError : 此对象已被销毁,即destroy()已被调用。
Example:
clippingPolygons = clippingPolygons && clippingPolygons.destroy();
See:
返回集合中指定索引处的裁剪多边形。索引从零开始,随着多边形的添加而增加。移除多边形会将该多边形之后的所有多边形向左移动,改变它们的索引。此函数通常与
ClippingPolygonCollection#length一起使用,以遍历集合中的所有多边形。
| Name | Type | Description |
|---|---|---|
index |
number | 多边形的零基索引。 |
Returns:
指定索引处的ClippingPolygon。
Returns:
如果此对象已被销毁,则返回
true;否则返回false。
从集合中移除给定ClippingPolygon的首次出现。
| Name | Type | Description |
|---|---|---|
polygon |
ClippingPolygon |
Returns:
如果多边形被移除,则返回
true;如果多边形未在集合中找到,则返回false。
See:
从集合中移除所有多边形。
