# SceneLayer

#### new Cesium.SceneLayer(scene, options)
MapGIS/SceneLayer.js 27

G3D 服务图层

Name | Type | Description
--- | --- | ---
`scene` | Scene | 场景对象
`options` | Object | 可选参数

### Members

#### readonly ip : String
MapGIS/SceneLayer.js 91

G3D 服务 ip 地址

#### readonly name : String
MapGIS/SceneLayer.js 79

G3D服务名

#### readonly port : Number
MapGIS/SceneLayer.js 103

G3D 服务端口号

#### show : Boolean
MapGIS/SceneLayer.js 113

G3D 可视属性

#### translucency : Number
MapGIS/SceneLayer.js 127

G3D 透明属性

#### readonly version : String
MapGIS/SceneLayer.js 67

版本信息

### Methods

#### addLayerInfo(layerIndex, info)
MapGIS/SceneLayer.js 604

保存图层信息

Name | Type | Description
--- | --- | ---
`layerIndex` | String | 图层索引
`info` | Object | 图层信息

#### getAllLayerIndexes() → Array.<String>
MapGIS/SceneLayer.js 216

获取g3d图层中的全部索引

##### Returns:

索引数组

#### getAllLayers() → Array.<(MapGISM3DSet|MapGISTerrainProvider)>
MapGIS/SceneLayer.js 276

获取全部 Layers

##### Returns:

#### getLabelLayerIndexes() → Array.<String>
MapGIS/SceneLayer.js 263

获取标注图层中的全部索引

##### Returns:

索引数组

#### getLabelLayers() → Array.<MapGISLabelLayer>
MapGIS/SceneLayer.js 319

获取全部 LabelLayers

##### Returns:

返回 SceneLayer 中的所有 矢量 图层

#### getLayer(layerIndex) → MapGISM3DSet|MapGISTerrainProvider|MapGISVectorLayer
MapGIS/SceneLayer.js 193

获取 SceneLayer 中的单个图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | String | 在G3D服务中的图层序号

##### Returns:

获取 图层对象

#### getLayerInfo(layerIndex) → Object
MapGIS/SceneLayer.js 616

根据图层索引号获取服务中的图层信息

Name | Type | Description
--- | --- | ---
`layerIndex` | String |

##### Returns:

返回服务中的图层信息

#### getLayerName(layerIndex) → String
MapGIS/SceneLayer.js 585

Name | Type | Description
--- | --- | ---
`layerIndex` | String | 在G3D服务中的图层序号

##### Returns:

获取对应的图层名

#### getLayerNamesLength() → Number
MapGIS/SceneLayer.js 595

获取SceneLayer中图层名数组的长度

##### Returns:

获取SceneLayer中图层名数组的长度

#### getLayersByIndexes(layerIndexes) → Array.<(MapGISM3DSet|MapGISTerrainProvider)>
MapGIS/SceneLayer.js 329

按照 layerIndex 数组获取，对应的 图层集合

Name | Type | Description
--- | --- | ---
`layerIndexes` | Array.<Number> | layerIndex 数组

##### Returns:

获取 图层集

#### getLength() → Number
MapGIS/SceneLayer.js 556

获取长度

##### Returns:

获取SceneLayer中的数组长度

#### getM3DLayerIndexes() → Array.<String>
MapGIS/SceneLayer.js 229

获取m3d图层中的全部索引

##### Returns:

索引数组

#### getM3DLayers() → Array.<MapGISM3DSet>
MapGIS/SceneLayer.js 292

获取全部 M3DLayers

##### Returns:

返回 SceneLayer 中的所有 M3D 图层

#### getM3DLayersLength() → Number
MapGIS/SceneLayer.js 564

获取M3D图层长度

##### Returns:

获取M3D中的数组长度

#### getTerrainLayerIndexes() → Array.<String>
MapGIS/SceneLayer.js 240

获取地形图层中的全部索引

##### Returns:

索引数组

#### getTerrainLayers() → Array.<TerrainProvider>
MapGIS/SceneLayer.js 301

获取全部 TerrainLayers

##### Returns:

返回 SceneLayer 中的所有 地形 图层

#### getVectorLayerIndexes() → Array.<String>
MapGIS/SceneLayer.js 251

获取矢量图层中的全部索引

##### Returns:

索引数组

#### getVectorLayers() → Array.<MapGISVectorLayer>
MapGIS/SceneLayer.js 310

获取全部 VectorLayers

##### Returns:

返回 SceneLayer 中的所有 矢量 图层

#### Monomerization(options) → Object
MapGIS/SceneLayer.js 371

模型单体化,仅支持get方式查询

Name | Type | Description
--- | --- | ---
`options` | Object | 查询参数
Name | Type | Description
--- | --- | ---
`layerIndex` | String | 模型层索引号
`position` | Cartesian3 | 单体化点位置
`tolerance` | Number | 查询单体化容差
`useAlias` | Boolean | 查询结构属性字段名是否使用别名,默认false

##### Returns:

返回 单体化对象数组,需要接口层添加到场景中

Author:
  - 冯桂英

##### Example:

    var sceneLayer;
            var clickHandler = viewer.screenSpaceEventHandler.getInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
            viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
                sceneLayer = viewer.scene.layers.getLayer(layerIndex);
                sceneLayer.Monomerization(
                    function callback(result) {
                        for(var i=0; i<result.length;i++){
                            viewer.scene.primitives.add(result[i]);
                        }
                    },
                    {
                        position:new Cesium.Cartesian(121.1375,28.8576,21),
                        tolerance:0.0001,
                        layerIndex:modelIndex
                    }
                );
            }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

#### remove(destroy)
MapGIS/SceneLayer.js 718

清理当前 SceneLayer 图层

Name | Type | Default | Description
--- | --- | --- | ---
`destroy` | Boolean | `true` | optional 是否销毁内存

#### showByLayerIndex(layerIndex, isVisible)
MapGIS/SceneLayer.js 628

控制指定序号的图层进行显示或隐藏

Name | Type | Description
--- | --- | ---
`layerIndex` | String |
`isVisible` | Boolean |

#### showByLayerIndexes(layerIndexes, isVisible)
MapGIS/SceneLayer.js 658

按照图层序号数组进行控制是否可见

Name | Type | Description
--- | --- | ---
`layerIndexes` | Array.<Number> | 图层序号数组
`isVisible` | Boolean |

#### translucencyByLayerIndex(layerIndex, translucency)
MapGIS/SceneLayer.js 674

控制指定序号图层的透明度

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |
`translucency` | Number |

#### translucencyByLayerIndexes(layerIndexes, translucency)
MapGIS/SceneLayer.js 706

按照图层序号数组进行控制透明度

Name | Type | Description
--- | --- | ---
`layerIndexes` | Array.<Number> | 图层序号数组
`translucency` | Number |