#### # new ModelFilterTool(layeropt, optionsopt)

模型空间过滤工具

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`layer` | Cesium.MapGISM3DSet | {} | MapGISM3DSet对象，详见Cesium.MapGISM3DSet
`options` | Object | {} | 额外初始化参数
`enableFrameFunction` | Boolean | true | 启用帧函数，即每一帧执行过滤操作，针对lod的模型实时过滤
`enableCartesian` | Boolean | false | 是否使用笛卡尔坐标,[cartesian3,cartesian3,cartesian3,...]

##### 请参考以下示例：

1、外包盒过滤
2、外包盒过滤，带高度范围
3、模型中心点过滤
4、模型中心点过滤，带高度范围
5、取消过滤

##### 支持如下方法：

[1、给定范围，如果模型的BoundingVolume和给定范围相交，则显示模型，否则不显示]
[2、给定范围，如果模型的中心点在给定范围内，则显示模型，否则不显示]
[3、撤销过滤]
[4、销毁工具]

##### 示例

外包盒过滤

    // 参考示例：
    http://webclient.smaryun.com/#/modules/cesium/analyse/modelAnalyse/model-filter

    // ES5引入方式
    const { ModelFilterTool } = zondy.cesium
    // ES6引入方式
    import { ModelFilterTool } from "@mapgis/webclient-cesium-plugin"

    // 1 初始化模型空间过滤工具
    const modelFilterTool = new zondy.cesium.ModelFilterTool(
     // 获取到的MapGISM3DSet对象
     layer,
     // 额外初始化参数
     {
      //支持输入范围为笛卡尔坐标
      enableCartesian: true
    })

    // 2 外包盒过滤
    modelFilterTool.filterWithBoundingVolume(
      // 过滤范围，笛卡尔3坐标数组
      []
    )

外包盒过滤，带高度范围

    // 参考示例：
    http://webclient.smaryun.com/#/modules/cesium/analyse/modelAnalyse/model-filter

    // ES5引入方式
    const { ModelFilterTool } = zondy.cesium
    // ES6引入方式
    import { ModelFilterTool } from "@mapgis/webclient-cesium-plugin"

    // 1 初始化模型空间过滤工具
    const modelFilterTool = new zondy.cesium.ModelFilterTool(
     // 获取到的MapGISM3DSet对象
     layer,
     // 额外初始化参数
     {
      //支持输入范围为笛卡尔坐标
      enableCartesian: true
    })

    // 2 外包盒过滤，带高度范围
    modelFilterTool.filterWithBoundingVolume(
      // 过滤范围，笛卡尔3坐标数组
      [],
      // 外包盒最小高度
      10,
      // 外包盒最大高度
      200
    )

模型中心点过滤

    // 参考示例：
    http://webclient.smaryun.com/#/modules/cesium/analyse/modelAnalyse/model-filter

    // ES5引入方式
    const { ModelFilterTool } = zondy.cesium
    // ES6引入方式
    import { ModelFilterTool } from "@mapgis/webclient-cesium-plugin"

    // 1 初始化模型空间过滤工具
    const modelFilterTool = new zondy.cesium.ModelFilterTool(
     // 获取到的MapGISM3DSet对象
     layer,
     // 额外初始化参数
     {
      //支持输入范围为笛卡尔坐标
      enableCartesian: true
    })

    // 2 模型中心点过滤
    modelFilterTool.filterWithCenter(
      // 过滤范围，笛卡尔3坐标数组
      []
    )

模型中心点过滤，带高度范围

    // 参考示例：
    http://webclient.smaryun.com/#/modules/cesium/analyse/modelAnalyse/model-filter

    // ES5引入方式
    const { ModelFilterTool } = zondy.cesium
    // ES6引入方式
    import { ModelFilterTool } from "@mapgis/webclient-cesium-plugin"

    // 1 初始化模型空间过滤工具
    const modelFilterTool = new zondy.cesium.ModelFilterTool(
     // 获取到的MapGISM3DSet对象
     layer,
     // 额外初始化参数
     {
      //支持输入范围为笛卡尔坐标
      enableCartesian: true
    })

    // 2 模型中心点过滤，带高度范围
    modelFilterTool.filterWithCenter(
      // 过滤范围，笛卡尔3坐标数组
      [],
      // 最小高度范围
      10,
      // 最大高度范围
      200
    )

取消过滤

    modelFilterTool.removeFilter()

### 方法

#### # destroy()

销毁工具

#### # filterWithBoundingVolume(positionsopt, minHeightopt, maxHeightopt)

给定范围，如果模型的BoundingVolume和给定范围相交，则显示模型，否则不显示

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`positions` | Array.<Cesium.Cartesian3> | [] | 给定过滤范围，默认经纬度高程坐标点数组，[Cesium.Cartesian3, Cesium.Cartesian3, Cesium.Cartesian3, ...]，详见Cesium.Cartesian3
`minHeight` | Number | 0 | 过滤最小高度，如果最大或最小高度未传，则不进行高度过滤
`maxHeight` | Number | 0 | 过滤最大高度，如果最大或最小高度未传，则不进行高度过滤

#### # filterWithCenter(positionsopt, minHeightopt, maxHeightopt)

给定范围，如果模型的中心点在给定范围内，则显示模型，否则不显示

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`positions` | Array.<Cesium.Cartesian3> | [] | 给定过滤范围，默认经纬度高程坐标点数组，[Cesium.Cartographic, Cesium.Cartographic, Cesium.Cartographic, ...]
`minHeight` | Number | 0 | 过滤最小高度，如果最大或最小高度未传，则不进行高度过滤
`maxHeight` | Number | 0 | 过滤最大高度，如果最大或最小高度未传，则不进行高度过滤

#### # removeFilter()

撤销过滤