#### # 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]}) | 锚点相对偏移量

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 9

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

[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

### 成员变量

类型: AnchorType

#### # anchor

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 102

类型: Point

#### # anchorPosition

锚点相对偏移量

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 107

类型: Boolean

#### # castShadows

是否显示阴影

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 116

类型: Color

#### # color

颜色

Inherited From:
  - Symbol#color

查看源代码 common/base/symbol/Symbol.js, line 35

类型: Number

#### # depth

符号深度

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 121

类型: Number

#### # heading

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 126

类型: Number

#### # height

符号高度

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 131

类型: Object

#### # material

符号材质

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 136

类型: IconResource

#### # resource

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 145

类型: Number

#### # roll

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 152

类型: Number

#### # tilt

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 157

类型: Symbol3DLayerType

#### # type

类型

Overrides:
  - Symbol3DLayer#type

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 97

类型: Number

#### # width

符号宽度

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 162

### 方法

#### # static fromJSON(json)

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

#### 参数:

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

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 175

返回值:

新的ObjectSymbol3DLayer对象

类型: ObjectSymbol3DLayer

#### # clone()

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

Overrides:
  - Symbol3DLayer#clone

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 206

返回值:

新的ObjectSymbol3DLayer对象

类型: ObjectSymbol3DLayer

#### # toJSON()

导出为JSON对象

Overrides:
  - Symbol3DLayer#toJSON

查看源代码 common/base/symbol/symbol3DLayer/ObjectSymbol3DLayer.js, line 184

返回值:

JSON对像

类型: Object