#### # new ObjectSymbol3DLayer(options)

三维体对象符号图层，使用三维体符号来绘制一个点几何要素
通过设置resource的primitive属性来设置符号形状，支持如下形状：
sphere、cylinder、cube、cone、inverted-cone、diamond、tetrahedron
也可通过设置resource中的href属性，来加载gltf数据
同时通过设置material属性来设置符号的外观
示例如下：
[1、使用网络资源创建一个三维体对象符号图层对象]
[2、使用系统自带资源创建一个三维体对象符号图层对象]

#### 参数

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  | 构造参数
`resource` | IconResource | new IconResource() | 图标的资源，如果设置了href则表明使用网络gltf资源，如果设置了primitive则表明使用系统自带的资源 系统自带资源类型：'sphere'|'cylinder'|'cube'|'cone'|'inverted-cone'|'diamond'|'tetrahedron'
`material` | ColorMaterial | new ColorMaterial() | 符号材质，目前支持的材质有： ColorMaterial: 纯色材质，当图标的资源是网络gltf资源时，指的是模型的覆盖物颜色，通过覆盖物颜色的透明度可以来更改图标的透明度；当图标的资源是是系统自带的图标时，指的是几何体填充颜色
`height` | Number | 10 | 符号高度，当资源类型是gltf时，表明模型平面高度，当资源类型是系统自带类型时，表明几何体平面高度
`width` | Number | 10 | 符号宽度，当资源类型是gltf时，表明模型宽平面度，当资源类型是系统自带类型时，表明几何体平面宽度
`depth` | Number | 10 | 符号深度，当资源类型是gltf时，表明模型深度，当资源类型是系统自带类型时，表明几何体深度
`castShadows` | Boolean | true | 是否显示阴影
`heading` | Number | 0 | 物体水平方向的旋转角度，z轴
`roll` | Number | 0 | 物体横向垂直面方向的旋转角度，y轴
`tilt` | Number | 0 | 物体纵向垂直面方向的旋转角度，x轴
`anchor` | AnchorType | AnchorType.center | 锚点，指的图标相对于原始坐标点的位置，支持"center"|"top"|"bottom"|"origin"|"relative"
`anchorPosition` | Point | new Point({coordinates: [0, 0]}) | 锚点相对偏移量

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

[1、通过json数据构造一个ObjectSymbol3DLayer对象]
[2、导出为JSON对象]
[3、克隆并返回一个新的ObjectSymbol3DLayer对象]

##### 示例

使用网络资源创建一个三维体对象符号图层对象

    // ES5引入方式
    const { Color } = zondy
    const { ObjectSymbol3DLayer, IconResource, ColorMaterial } = zondy.symbol
    // ES6引入方式
    import { ObjectSymbol3DLayer, IconResource, ColorMaterial, Color } from "@mapgis/webclient-common"

    // 创建一个三维体对象符号图层对象
    const symbol = new ObjectSymbol3DLayer({
      // 网络资源
      resource: new IconResource({
        href: 'gltf网络资源'
      }),
      // 模型覆盖物颜色
      material: new ColorMaterial({
        color: new Color(255, 1, 1, 1)
      }),
      // 模型高度
      height: 1000,
      // 模型宽度
      width: 1000,
      // 模型深度
      depth: 1000
    })

使用系统自带资源创建一个三维体对象符号图层对象

    // ES5引入方式
    const { Color } = zondy
    const { ObjectSymbol3DLayer, IconResource, ColorMaterial } = zondy.symbol
    // ES6引入方式
    import { ObjectSymbol3DLayer, IconResource, ColorMaterial, Color } from "@mapgis/webclient-common"

    // 创建一个三维体对象符号图层对象
    const symbol = new ObjectSymbol3DLayer({
      // 自带资源
      resource: new IconResource({
        // 创建一个椭球
        primitive: 'sphere'
      }),
      // 覆盖物颜色
      material: new ColorMaterial({
        color: new Color(255, 1, 1, 1)
      }),
      // 椭球半径
      height: 1000,
      // 椭球半径
      width: 1000,
      // 椭球半径
      depth: 1000
    })

### 继承关系

- Symbol3DLayer

### 成员变量

#### 成员变量概述

名称 | 类型 | 描述
--- | --- | ---
`anchor` | `AnchorType` | `锚点，指的图标相对于原始坐标点的位置，支持"center"|"top"|"bottom"|"origin"|"relative"`
`anchorPosition` | `Point` | `锚点相对偏移量`
`castShadows` | `Boolean` | `是否显示阴影`
`color` | `Color` | `颜色`
`depth` | `Number` | `符号深度`
`extensionOptions` | `Object` | `符号的额外构造参数，该构造参数是地图引擎的额外构造参数，在此设置了之后，会覆盖该符号转换好地图引擎的构造参数`
`heading` | `Number` | `物体水平方向的旋转角度，z轴`
`height` | `Number` | `符号高度`
`id` | `String` | `符号id`
`material` | `Object` | `符号材质`
`resource` | `IconResource` | `图标的资源，如果没有设置图标资源，则使用系统自带的图标`
`roll` | `Number` | `物体横向垂直面方向的旋转角度，y轴`
`tilt` | `Number` | `物体纵向垂直面方向的旋转角度，x轴`
`type` | `Symbol3DLayerType` | `类型`
`width` | `Number` | `符号宽度`

#### 成员变量详情

类型: AnchorType

#### # anchor

锚点，指的图标相对于原始坐标点的位置，支持"center"|"top"|"bottom"|"origin"|"relative"

类型: Point

#### # anchorPosition

锚点相对偏移量

类型: Boolean

#### # castShadows

是否显示阴影

类型: Color

#### # color

颜色

Inherited From:
  - Symbol#color

类型: Number

#### # depth

符号深度

类型: Object

#### # extensionOptions

符号的额外构造参数，该构造参数是地图引擎的额外构造参数，在此设置了之后，会覆盖该符号转换好地图引擎的构造参数

Inherited From:
  - Symbol#extensionOptions
Default Value:
  - {}

类型: Number

#### # heading

物体水平方向的旋转角度，z轴

类型: Number

#### # height

符号高度

类型: String

#### # readonly id

符号id

Inherited From:
  - Symbol#id

类型: Object

#### # material

符号材质

类型: IconResource

#### # resource

图标的资源，如果没有设置图标资源，则使用系统自带的图标

类型: Number

#### # roll

物体横向垂直面方向的旋转角度，y轴

类型: Number

#### # tilt

物体纵向垂直面方向的旋转角度，x轴

类型: Symbol3DLayerType

#### # type

类型

Overrides:
  - Symbol3DLayer#type

类型: Number

#### # width

符号宽度

### 方法

#### 方法概述

名称 | 返回值类型 | 描述
--- | --- | ---
`fromJSON` | `ObjectSymbol3DLayer` | ``
`clone` | `ObjectSymbol3DLayer` | ``
`toJSON` | `Object` | ``

#### 方法详情

#### # static fromJSON(json)

通过json数据构造一个ObjectSymbol3DLayer对象

#### 参数

名称 | 类型 | 描述
--- | --- | ---
`json` | Object | json数据

返回值

新的ObjectSymbol3DLayer对象

类型: ObjectSymbol3DLayer

#### # clone()

克隆并返回一个新的ObjectSymbol3DLayer对象

Overrides:
  - Symbol3DLayer#clone

返回值

新的ObjectSymbol3DLayer对象

类型: ObjectSymbol3DLayer

#### # toJSON()

导出为JSON对象

Overrides:
  - Symbol3DLayer#toJSON

返回值

JSON对像

类型: Object