平面裁剪
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
参数选项:
|
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
裁剪平面的中心
最后被更改时的对应帧数
销毁事件
是否激活
-
Default Value:
[true]
是否开启反向裁剪效果
-
Default Value:
[false]
交互时的最小响应间隙
唯一名称标识
normal : Cartesian3
裁剪平面的法向
pitchRotatedAxis : Cartesian3
裁剪平面在俯仰旋转时的旋转轴
裁剪平面的示意平面图元的颜色
裁剪平面的示意平面图元的高度
裁剪平面的示意平面图元的宽度
封边过滤半径缩放率
是否就绪
封边填充颜色
显示裁剪平面法向箭头
是否在场景中显示裁剪平面的示意平面图元
-
Default Value:
[true]
是否开启封边效果
目标集
Methods
删除指定裁剪平面
Name | Type | Description |
---|---|---|
viewer |
Viewer | 当前viewer |
clippingPlane |
GeoClipping.PlaneClipping | 要删除的裁剪平面 |
Example:
Cesium.GeoClipping.PlaneClipping.delete(clippingPlane);
clippingPlane = undefined;
通过交互方式,获取创建裁剪平面的点集,当交互完成时,将点集传送给回调函数
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);
}
});
初始化平面裁剪环境, 这个接口必须在使用前调用,否则裁剪无效果
Name | Type | Description |
---|---|---|
scene |
Scene | 当前场景 |
Example:
Cesium.GeoClipping.PlaneClipping.initialize(viewer.scene);
销毁对象
判断对象是否匹配
Name | Type | Description |
---|---|---|
primitive |
Model | Cesium3DTileset |
判断对象是否在指定帧数之后被更改
Name | Type | Description |
---|---|---|
primitive |
Model | Cesium3DTileset | |
number |
Number |
将裁剪平面的中心沿法线移动一定距离
Name | Type | Description |
---|---|---|
distance |
Number | 要移动的距离,单位为米;当距离为负值时,反向移动 |
Example:
clippingPlane.moveWithDistance(5);
以指定的轴和角度,旋转裁剪平面
Name | Type | Description |
---|---|---|
angle |
Number | 要旋转的角度,单位为度 |
axis |
Cartesian3 | 旋转轴 |
Example:
clippingPlane.rotateByAxis(5, new Cesium.Cartesian3(...));
以裁剪平面中心所在的球面法向为轴,使用指定的角度,逆时针旋转裁剪平面
Name | Type | Description |
---|---|---|
angle |
Number | 要旋转的角度,单位为度;当角度值为负值时,顺时针旋转 |
Example:
clippingPlane.rotateForHeading(5);
以裁剪平面与球面交线为轴(或使用pitchRotatedAxis指定的轴),使用指定的角度,旋转裁剪平面,以达到平面的俯仰角度调整效果
Name | Type | Description |
---|---|---|
angle |
Number | 要旋转的角度,单位为度 |
Example:
clippingPlane.rotateForPitch(5);
或
clippingPlane.pitchRotatedAxis = new Cesium.Cartesian3(...);
clippingPlane.rotateForPitch(5);