PlaneClipping

new Cesium.GeoClipping.PlaneClipping(options)

平面裁剪
Name Type Description
options Object 参数选项:
Name Type Default Description
viewer Viewer 当前viewer
plane Array 点集,用来确定裁剪平面位置
targets Array 目标集
enabled Boolean true optional 是否激活
showPlanePrimitive Boolean true optional 是否显示裁剪平面的示意平面对象
isReverse Boolean false optional 是否使用平面反向裁剪
planeColor Color 裁剪平面的示意平面的颜色
planeWidth Number 裁剪平面的示意平面的宽度
planeHeight Number 裁剪平面的示意平面的高度
showSealing Boolean false optional 是否显示封边效果
sealingColor Color 封边填充颜色
radiusScalar Number 封边半径缩放率
Example:
var planeClipping = new Cesium.GeoClipping.PlaneClipping({
     viewer : viewer,
     plane : [new Cesium.Cartesian3(...), new Cesium.Cartesian3(...), new Cesium.Cartesian3(...)],
     targets : [tileset, model]
 });
Demo:

Members

center : Cartesian3

裁剪平面的中心

readonlychangedFrameNumber : Number

最后被更改时的对应帧数

readonlydestroyEvents : Event

销毁事件

enabled : Boolean

是否激活
Default Value: [true]

isReverse : Boolean

是否开启反向裁剪效果
Default Value: [false]

minActionStride : Number

交互时的最小响应间隙

readonlyname : String

唯一名称标识

normal : Cartesian3

裁剪平面的法向

pitchRotatedAxis : Cartesian3

裁剪平面在俯仰旋转时的旋转轴

planeColor : Color

裁剪平面的示意平面图元的颜色

planeHeight : Number

裁剪平面的示意平面图元的高度

planeWidth : Number

裁剪平面的示意平面图元的宽度

radiusScalar : Number

封边过滤半径缩放率

readonlyready : Boolean

是否就绪

sealingColor : Color

封边填充颜色

showArrow : Boolean

显示裁剪平面法向箭头

showPlanePrimitive : Boolean

是否在场景中显示裁剪平面的示意平面图元
Default Value: [true]

showSealing : Boolean

是否开启封边效果

readonlytargets : Array

目标集

Methods

staticCesium.GeoClipping.PlaneClipping.delete(viewer, clippingPlane)

删除指定裁剪平面
Name Type Description
viewer Viewer 当前viewer
clippingPlane GeoClipping.PlaneClipping 要删除的裁剪平面
Example:
Cesium.GeoClipping.PlaneClipping.delete(clippingPlane);
 clippingPlane = undefined;

staticCesium.GeoClipping.PlaneClipping.getPositions(viewer, callback)

通过交互方式,获取创建裁剪平面的点集,当交互完成时,将点集传送给回调函数
Name Type Description
viewer Viewer 当前viewer
callback function 交互完成时的回调函数
Example:
Cesium.GeoClipping.PlaneClipping.getPositions(viewer, function(positions){
     if (positions && positions.length >= 3){
         clippingPlane = new Cesium.GeoClipping.PlaneClipping({
             viewer : viewer,
             plane : positions,
             targets : [...]
         });

         viewer.scene.clippingCollection.push(clippingPlane);
     }
 });

staticCesium.GeoClipping.PlaneClipping.initialize(scene)

初始化平面裁剪环境, 这个接口必须在使用前调用,否则裁剪无效果
Name Type Description
scene Scene 当前场景
Example:
Cesium.GeoClipping.PlaneClipping.initialize(viewer.scene);

destroy()

销毁对象

matchPrimitive(primitive)

判断对象是否匹配
Name Type Description
primitive Model | Cesium3DTileset

matchPrimitiveByNumber(primitive, number)

判断对象是否在指定帧数之后被更改
Name Type Description
primitive Model | Cesium3DTileset
number Number

moveWithDistance(distance)

将裁剪平面的中心沿法线移动一定距离
Name Type Description
distance Number 要移动的距离,单位为米;当距离为负值时,反向移动
Example:
clippingPlane.moveWithDistance(5);

rotateByAxis(angle, axis)

以指定的轴和角度,旋转裁剪平面
Name Type Description
angle Number 要旋转的角度,单位为度
axis Cartesian3 旋转轴
Example:
clippingPlane.rotateByAxis(5, new Cesium.Cartesian3(...));

rotateForHeading(angle)

以裁剪平面中心所在的球面法向为轴,使用指定的角度,逆时针旋转裁剪平面
Name Type Description
angle Number 要旋转的角度,单位为度;当角度值为负值时,顺时针旋转
Example:
clippingPlane.rotateForHeading(5);

rotateForPitch(angle)

以裁剪平面与球面交线为轴(或使用pitchRotatedAxis指定的轴),使用指定的角度,旋转裁剪平面,以达到平面的俯仰角度调整效果
Name Type Description
angle Number 要旋转的角度,单位为度
Example:
clippingPlane.rotateForPitch(5);
 或
   clippingPlane.pitchRotatedAxis = new Cesium.Cartesian3(...);
   clippingPlane.rotateForPitch(5);