CuttingTool

new Cesium.CuttingTool(viewer, layers, options)

三维场景裁剪工具集
Name Type Description
viewer Viewer 三维视图对象
layers Array.<MapGISM3DSet>
options Object optional 可选参数
Name Type Description
onErrorCallback function optional 发生错误时的回调函数,type:错误类型,msg:错误信息。0:点数量小于2;1:为凹多边形,不支持;2:有空对象;3:格式不是笛卡尔对象;4:裁剪体高度不正确

Members

isCuttingTerrain : Boolean

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

Methods

_createVolumeCuttingPlanes(normals, originalPoints, layer, options)

通过包围面,创建裁剪体
Name Type Description
normals Array.<Cartesian3> 面法线数组
originalPoints Array.<Cartesian3> 面中心点数组
layer MapGISM3DSet 要裁剪的M3D
options Object 可选参数

changePlaneColor(color)

修改辅助剖切面颜色
Name Type Default Description
color Color Color.WHITE.withAlpha(0.5) optional 辅助面颜色

createModelCuttingPlane(normal, options)

创建模型裁剪面
Name Type Description
normal Cartesian3 裁剪面的法线
options Object optional 可选参数
Name Type Default Description
distance Object 0 optional 裁剪面的初始距离
scaleWidth Number 2.5 optional 辅助面宽度缩放比例
scaleHeight Number 2.5 optional 辅助面高度缩放比例
unionClippingRegions Boolean false optional 裁剪方向,false:原方向,true:反向
color Color Color.WHITE.withAlpha(0.5) optional 辅助面颜色
showCuttingPlane Boolean true optional 是否显示辅助面

createModelCuttingPlaneFromLine(pointA, pointB, options)

通过直线,绘制模型裁剪面
Name Type Description
pointA Cartesian3 直线起始点 A,必须为角度制的经纬度值
pointB Cartesian3 直线终止点 B,必须为角度制的经纬度值
options Object optional 可选参数
Name Type Default Description
scaleWidth Number 2.5 optional 辅助面宽度缩放比例
scaleHeight Number 2.5 optional 辅助面高度缩放比例
unionClippingRegions Boolean false optional 裁剪方向,false为原方向,true为反方向
color Color Color.WHITE.withAlpha(0.5) optional 辅助面颜色
showCuttingPlane Boolean true optional 是否显示辅助面

createModelCuttingPlaneFromPolyline(positions, options)

通过折线,绘制模型裁剪面,请提两个以上的点,否则不执行剖切分析。
Name Type Description
positions Array.<Cartesian3> 折线的点坐标
options Object optional 可选参数
Name Type Default Description
unionClippingRegions Boolean false optional 裁剪方向,true为原方向,false为反方向

createModelCuttingPolygon(positions, minHeight, maxHeight, options)

多边形几何裁剪
通过边界区域,以及高程,构建裁剪几何体。支持凹多边形裁剪,但对封边效果支持不好
Name Type Description
positions Array 区域边界点数组,点需要按照顺时针方向选取。要求是经纬度坐标
minHeight Number 最小高程
maxHeight Number 最大高程
options Object 可选参数
Name Type Default Description
color Color new Color.WIHTE.withAlpha(0.2) optional 可选参数,配置裁剪体的颜色,以及透明度
unionClippingRegions Boolean false optional 可选参数,裁剪方向,false:原方向,true反方向
showCuttingPlane Boolean true optional 是否显示辅助面
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)

通过边界区域,以及最小最大高程,构建裁剪体
Name Type Description
positions Array.<Cartesian3> 区域边界点数组,点需要按照顺时针方向选取
minHeight Number 最小高程
maxHeight Number 最大高程
options Object 可选参数
Name Type Default Description
color Color new Color.WIHTE.withAlpha(0.2) optional 可选参数,配置裁剪体的颜色,以及透明度
unionClippingRegions Boolean false optional 可选参数,裁剪方向,false:原方向,true反方向
showCuttingPlane Boolean true optional 是否显示辅助面
terrainGroundFillImage String 'Assets/Images/sandydrysoil-albedo2b.jpg' optional 地形封边底面颜色纹理资源路径
terrainWallFillImage String 'Assets/Images/wall-texture-default.jpg' optional 地形封边剖面颜色纹理资源路径
开关当前被CuttingTool管理的裁剪体
Name Type Description
value Boolean
移除所有裁剪面
Example:
var cutTool = new Cesium.CuttingTool(viewer, layerList);

cutTool.removeAll();

showCuttingPlane(showPlane)

显示或隐藏所有辅助剖切面(体)
Name Type Default Description
showPlane Boolean true optional 显示或隐藏所有辅助剖切面(体),true为显示所有辅助剖切面(体),false为隐藏所有辅助剖切面(体)