Class: CuttingTool

CuttingTool

new CuttingTool(viewer, layers, options)

engineExtensions/tools/CuttingTool.js, line 7

请参考以下示例:
1、动态剖切
2、地质体封边
3、地形开挖
支持如下方法:
[1、创建模型裁剪面]
[2、修改辅助剖切面颜色]
[3、通过直线,绘制模型裁剪面]
[4、通过折线,绘制模型裁剪面,请提两个以上的点,否则不执行剖切分析]
[5、通过边界区域,以及最小最大高程,构建裁剪体]
[6、多边形几何裁剪]
[7、移除所有裁剪面]
[8、开关当前被CuttingTool管理的裁剪体]
[9、显示或隐藏所有辅助剖切面(体)]

三维场景裁剪工具集

Name Type Description
viewer Viewer

三维视图对象,详见Cesium.Viewer

layers Array.<(Cesium.MapGISM3DSet|Cesium.Cesium3DTileset)>

要剖切的图层对象数组, 详见《Cesium.MapGISM3DSet》 《Cesium.Cesium3DTileset》

options Object 可选

可选参数

Name Type Description
onErrorCallback function 可选

发生错误时的回调函数,type:错误类型,msg:错误信息。0:点数量小于2;1:为凹多边形,不支持;2:有空对象;3:格式不是笛卡尔对象;4:裁剪体高度不正确

isCuttingTerrain Boolean 可选

是否支持开挖地形

Members

isCuttingTerrainBoolean

是否支持开挖地形 打开后通过CuttingTool#createModelCuttingVolumeCuttingTool#createModelCuttingPlaneFromPolyline 创建的裁剪体会同时对地形做裁剪。 CuttingTool#createModelCuttingPlaneFromPolyline 添加地形支持时由于缺少高度所以不会开启剖切面封边

Default Value:
false

Methods

changePlaneColor(color)

engineExtensions/tools/CuttingTool.js, line 330

修改辅助剖切面颜色

Name Type Default Description
color Cesium.Color Cesium.Color.WHITE.withAlpha(0.5) 可选

辅助面颜色

createModelCuttingPlane(normal, options)

engineExtensions/tools/CuttingTool.js, line 87
Name Type Description
normal Cesium.Cartesian3

裁剪面的法线

options Object 可选

可选参数

Name Type Default Description
distance Object 0 可选

裁剪面的初始距离

scaleWidth Number 2.5 可选

辅助面宽度缩放比例

scaleHeight Number 2.5 可选

辅助面高度缩放比例

unionClippingRegions Boolean false 可选

裁剪方向,false:原方向,true:反向

color Cesium.Color Cesium.Color.WHITE.withAlpha(0.5) 可选

辅助面颜色

showCuttingPlane Boolean true 可选

是否显示辅助面

createModelCuttingPlaneFromLine(pointA, pointB, options)

engineExtensions/tools/CuttingTool.js, line 359
Name Type Description
pointA Cesium.Cartesian3

直线起始点 A,必须为角度制的经纬度值

pointB Cesium.Cartesian3

直线终止点 B,必须为角度制的经纬度值

options Object 可选

可选参数

Name Type Default Description
scaleWidth Number 2.5 可选

辅助面宽度缩放比例

scaleHeight Number 2.5 可选

辅助面高度缩放比例

color Cesium.Color Cesium.Color.WHITE.withAlpha(0.5) 可选

辅助面颜色

showCuttingPlane Boolean true 可选

是否显示辅助面

unionClippingRegions Boolean false 可选

裁剪方向,false为原方向,true为反方向

createModelCuttingPlaneFromPolyline(positions, options)

engineExtensions/tools/CuttingTool.js, line 374
Name Type Description
positions Array.<Cesium.Cartesian3>

折线的点坐标

options Object 可选

可选参数

Name Type Default Description
scaleWidth Number 2.5 可选

辅助面宽度缩放比例(剖切对象为模型时,才会有有效辅助面,辅助面相关配置才会生效)

scaleHeight Number 2.5 可选

辅助面高度缩放比例

color Cesium.Color Cesium.Color.WHITE.withAlpha(0.5) 可选

辅助面颜色

showCuttingPlane Boolean true 可选

是否显示辅助面

unionClippingRegions Boolean false 可选

裁剪方向,true为原方向,false为反方向

createModelCuttingPolygon(positions, minHeight, maxHeight, options)

engineExtensions/tools/CuttingTool.js, line 558
Name Type Description
positions Array

区域边界点数组,点需要按照顺时针方向选取。要求是经纬度坐标

minHeight Number

最小高程

maxHeight Number

最大高程

options Object

可选参数

Name Type Default Description
color Cesium.Color new Cesium.Color.WIHTE.withAlpha(0.2) 可选

可选参数,配置裁剪体的颜色,以及透明度

unionClippingRegions Boolean false 可选

裁剪方向,true:去除裁剪区域内的部分,false:去除裁剪区域外的部分

showCuttingPlane Boolean true 可选

是否显示辅助面

Example
var cutTool = new Cesium.CuttingTool(viewer, layerList);
var positions = [
    113.0406, 30.0378,
    113.0595, 30.0378,
    113.0595, 30.0297,
    113.0762, 30.0297,
    113.0762, 30.0179,
    113.0595, 30.0179,
    113.0595, 30.0099,
    113.0406, 30.0099
];
cutTool.createModelCuttingPolygon(positions, -1000, 500, {
    //裁剪方向,false:原方向,true反方向
    unionClippingRegions: false,
    //配置裁剪体的颜色,以及透明度
    color: new Cesium.Color(1, 1, 1, 0.2),
    //是否显示裁剪体
    showCuttingPlane: true
})

createModelCuttingVolume(positions, minHeight, maxHeight, options)

engineExtensions/tools/CuttingTool.js, line 518
Name Type Description
positions Array.<Cesium.Cartesian3>

区域边界点数组,点需要按照顺时针方向选取

minHeight Number

最小高程

maxHeight Number

最大高程

options Object

可选参数

Name Type Default Description
color Cesium.Color new Cesium.Color.WIHTE.withAlpha(0.2) 可选

可选参数,配置裁剪体的颜色,以及透明度

unionClippingRegions Boolean false 可选

裁剪方向,true:去除裁剪区域内的部分,false:去除裁剪区域外的部分

showCuttingPlane Boolean true 可选

是否显示辅助面(剖切对象为模型时,才会有有效辅助面,辅助面相关配置才会生效)

terrainGroundFillImage String MAPGIS_BASE_URL+'webclient-cesium-plugin-resource/assets/images/sandydrysoil-albedo2b.jpg' 可选

地形封边底面颜色纹理资源路径

terrainWallFillImage String MAPGIS_BASE_URL+'webclient-cesium-plugin-resource/assets/images/wall-texture-default.jpg' 可选

地形封边剖面颜色纹理资源路径

enabled(value)

engineExtensions/tools/CuttingTool.js, line 741
Name Type Description
value Boolean

removeAll()

engineExtensions/tools/CuttingTool.js, line 682
Example
var cutTool = new Cesium.CuttingTool(viewer, layerList);

cutTool.removeAll();

showCuttingPlane(showPlane)

engineExtensions/tools/CuttingTool.js, line 759
Name Type Default Description
showPlane Boolean true 可选

显示或隐藏所有辅助剖切面(体),true为显示所有辅助剖切面(体),false为隐藏所有辅助剖切面(体)