# new CuttingTool(viewer, layers, optionsopt)
三维场景裁剪工具集
参数:
名称 | 类型 | 描述 |
---|---|---|
viewer |
Viewer | 三维视图对象,详见Cesium.Viewer |
layers |
Array.<(Cesium.MapGISM3DSet|Cesium.Cesium3DTileset)> | 要剖切的图层对象数组, 详见《Cesium.MapGISM3DSet》 《Cesium.Cesium3DTileset》 |
options |
Object | 可选参数 |
onErrorCallback |
function | 发生错误时的回调函数,type:错误类型,msg:错误信息。0:点数量小于2;1:为凹多边形,不支持;2:有空对象;3:格式不是笛卡尔对象;4:裁剪体高度不正确 |
请参考以下示例:
1、动态剖切2、地质体封边
3、地形开挖
支持如下方法:
[1、创建模型裁剪面][2、修改辅助剖切面颜色]
[3、通过直线,绘制模型裁剪面]
[4、通过折线,绘制模型裁剪面,请提两个以上的点,否则不执行剖切分析]
[5、通过边界区域,以及最小最大高程,构建裁剪体]
[6、多边形几何裁剪]
[7、移除所有裁剪面]
[8、开关当前被CuttingTool管理的裁剪体]
[9、显示或隐藏所有辅助剖切面(体)]
成员变量
# isCuttingTerrain
是否支持开挖地形 打开后通过CuttingTool#createModelCuttingVolume
和 CuttingTool#createModelCuttingPlaneFromPolyline
创建的裁剪体会同时对地形做裁剪。
CuttingTool#createModelCuttingPlaneFromPolyline
添加地形支持时由于缺少高度所以不会开启剖切面封边
- Default Value:
- false
方法
# changePlaneColor(coloropt)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
color |
Cesium.Color | Cesium.Color.WHITE.withAlpha(0.5) | 辅助面颜色 |
# createModelCuttingPlane(normal, optionsopt)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
normal |
Cesium.Cartesian3 | 裁剪面的法线 |
|
options |
Object | 可选参数 |
|
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, optionsopt)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
pointA |
Cesium.Cartesian3 | 直线起始点 A,必须为角度制的经纬度值 |
|
pointB |
Cesium.Cartesian3 | 直线终止点 B,必须为角度制的经纬度值 |
|
options |
Object | 可选参数 |
|
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 | 是否显示辅助面 |
# createModelCuttingPlaneFromPolyline(positions, optionsopt)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
positions |
Array.<Cesium.Cartesian3> | 折线的点坐标 |
|
options |
Object | 可选参数 |
|
unionClippingRegions |
Boolean | false | 裁剪方向,true为原方向,false为反方向 |
# createModelCuttingPolygon(positions, minHeight, maxHeight, options)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
positions |
Array | 区域边界点数组,点需要按照顺时针方向选取。要求是经纬度坐标 |
|
minHeight |
Number | 最小高程 |
|
maxHeight |
Number | 最大高程 |
|
options |
Object | 可选参数 |
|
color |
Cesium.Color | new Cesium.Color.WIHTE.withAlpha(0.2) | 可选参数,配置裁剪体的颜色,以及透明度 |
unionClippingRegions |
Boolean | false | 可选参数,裁剪方向,false:原方向,true反方向 |
showCuttingPlane |
Boolean | true | 是否显示辅助面 |
示例
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)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
positions |
Array.<Cesium.Cartesian3> | 区域边界点数组,点需要按照顺时针方向选取 |
|
minHeight |
Number | 最小高程 |
|
maxHeight |
Number | 最大高程 |
|
options |
Object | 可选参数 |
|
color |
Cesium.Color | new Cesium.Color.WIHTE.withAlpha(0.2) | 可选参数,配置裁剪体的颜色,以及透明度 |
unionClippingRegions |
Boolean | false | 可选参数,裁剪方向,false:原方向,true反方向 |
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' | 地形封边剖面颜色纹理资源路径 |
# showCuttingPlane(showPlaneopt)
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
showPlane |
Boolean | true | 显示或隐藏所有辅助剖切面(体),true为显示所有辅助剖切面(体),false为隐藏所有辅助剖切面(体) |