指定一组剪裁平面。对于单个 gltf 模型、3D Tileset 或地球,剪切平面选择性地禁用在指定
ClippingPlane
对象列表之外的区域中的渲染。
一般来说,剪切平面的坐标是相对于它们所附着的对象的,因此距离设置为 0 的平面将剪切通过对象的中心。
对于 3D 切片,根切片的变换用于定位剪切平面。如果未定义转换,则使用根 tile 的
Cesium3DTile#boundingSphere
代替。
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的
可选
对象:
|
Example:
// This clipping plane's distance is positive, which means its normal
// is facing the origin. This will clip everything that is behind
// the plane, which is anything with y coordinate < -5.
const clippingPlanes = new Cesium.ClippingPlaneCollection({
planes : [
new Cesium.ClippingPlane(new Cesium.Cartesian3(0.0, 1.0, 0.0), 5.0)
],
});
// Create an entity and attach the ClippingPlaneCollection to the model.
const entity = viewer.entities.add({
position : Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 10000),
model : {
uri : 'model.gltf',
minimumPixelSize : 128,
maximumScale : 20000,
clippingPlanes : clippingPlanes
}
});
viewer.zoomTo(entity);
Demo:
Members
edgeColor : Color
用于突出显示对象被剪裁的边缘的颜色。
-
Default Value:
Color.WHITE
应用于裁剪对象的边缘的高光的宽度(以像素为单位)。
-
Default Value:
0.0
如果为 true,将启用剪辑。
-
Default Value:
true
返回此集合中的平面数。这通常与
ClippingPlaneCollection#get
一起使用以遍历集合中的所有平面。
modelMatrix : Matrix4
4x4 变换矩阵,指定相对于剪切平面原始坐标系的附加变换。
-
Default Value:
Matrix4.IDENTITY
planeAdded : Event
将新剪裁平面添加到集合时触发的事件。事件处理程序被传递新平面和添加它的索引。
-
Default Value:
Event()
planeRemoved : Event
从集合中删除新的剪裁平面时触发的事件。事件处理程序将传递新平面和从中删除它的索引。
-
Default Value:
Event()
如果为 true,则如果某个区域位于集合中任何平面的外部,则该区域将被剪裁。否则,只有在每个平面之外的区域才会被剪裁。
-
Default Value:
false
Methods
将指定的
ClippingPlane
添加到集合中,用于选择性地禁用每个平面外部的渲染。使用
ClippingPlaneCollection#unionClippingRegions
修改如何修改多个平面的剪裁行为。
Name | Type | Description |
---|---|---|
plane
|
ClippingPlane | 要添加到集合中的 ClippingPlane。 |
See:
检查此集合是否包含等于给定 ClippingPlane 的 ClippingPlane。
Name | Type | Description |
---|---|---|
clippingPlane
|
ClippingPlane | 可选 要检查的 ClippingPlane。 |
Returns:
如果此集合包含 ClippingPlane,则为 true,否则为 false。
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。
一旦一个对象被销毁,它就不应该被使用;调用
一旦一个对象被销毁,它就不应该被使用;调用
isDestroyed
以外的任何函数都将导致
DeveloperError
异常。因此,如示例中所做的那样,将返回值 (
undefined
) 分配给对象。
Throws:
-
DeveloperError : 该对象被销毁,即调用了destroy()。
Example:
clippingPlanes = clippingPlanes && clippingPlanes.destroy();
See:
get (index) → ClippingPlane
返回集合中指定索引处的平面。索引从零开始,并随着平面的添加而增加。移除一个平面会将其后的所有平面向左移动,从而改变它们的索引。此函数通常与
ClippingPlaneCollection#length
一起使用以遍历集合中的所有平面。
Name | Type | Description |
---|---|---|
index
|
Number | 平面的从零开始的索引。 |
Returns:
指定索引处的 ClippingPlane。
Returns:
如果此对象被销毁,则为
true
;否则,
false
。
从集合中删除给定 ClippingPlane 的第一个匹配项。
Name | Type | Description |
---|---|---|
clippingPlane
|
ClippingPlane |
Returns:
如果飞机被移除,则为
true
;如果在集合中没有找到飞机,则
false
。
从集合中移除所有平面。