ClippingPolygonCollection

new Cesium.ClippingPolygonCollection(options)

指定一组裁剪多边形。裁剪多边形选择性地禁用对单个glTF模型、3D Tileset或地球的内部或外部区域的渲染。 裁剪多边形仅在WebGL 2上下文中受支持。
Name Type Description
options object optional 包含以下属性的对象:
Name Type Default Description
polygons Array.<ClippingPolygon> [] optional 用于选择性地禁用每个多边形内部区域渲染的ClippingPolygon对象数组。
enabled boolean true optional 确定裁剪多边形是否处于活动状态。
inverse boolean false optional 如果为true,则如果区域位于集合中所有多边形的外部,则该区域将被裁剪。否则,只有当区域位于任何多边形的内部时,才会被裁剪。
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一起使用,以遍历集合中的所有多边形。
当新裁剪多边形被添加到集合中时触发的事件。事件处理程序会传递新多边形及其被添加的索引。
Default Value: Event()
当新裁剪多边形从集合中移除时触发的事件。事件处理程序会传递被移除的多边形及其被移除的索引。
Default Value: Event()

Methods

static Cesium.ClippingPolygonCollection.isSupported(scene)boolean

用于检查上下文是否允许使用裁剪多边形,这需要浮点纹理。
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。
See:
销毁此对象持有的WebGL资源。销毁对象允许确定性地释放WebGL资源,而不是依赖垃圾收集器来销毁此对象。

一旦对象被销毁,它就不应再被使用;调用isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例所示。
Throws:
  • DeveloperError : 此对象已被销毁,即destroy()已被调用。
Example:
clippingPolygons = clippingPolygons && clippingPolygons.destroy();
See:
返回集合中指定索引处的裁剪多边形。索引从零开始,随着多边形的添加而增加。移除多边形会将该多边形之后的所有多边形向左移动,改变它们的索引。此函数通常与ClippingPolygonCollection#length一起使用,以遍历集合中的所有多边形。
Name Type Description
index number 多边形的零基索引。
Returns:
指定索引处的ClippingPolygon。
See:
如果此对象已被销毁,则返回true;否则返回false。

如果此对象已被销毁,则不应再使用它;调用isDestroyed以外的任何函数都将导致DeveloperError异常。
Returns:
如果此对象已被销毁,则返回true;否则返回false
See:
从集合中移除给定ClippingPolygon的首次出现。
Name Type Description
polygon ClippingPolygon
Returns:
如果多边形被移除,则返回true;如果多边形未在集合中找到,则返回false
See:
从集合中移除所有多边形。
See:
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.