Class: ArrowSymbol3DLayer

ArrowSymbol3DLayer

new ArrowSymbol3DLayer(options)

base/symbol/symbol3DLayer/ArrowSymbol3DLayer.js, line 6

三维箭头线符号图层,用于描述在三维场景中以箭头材质渲染的线要素,仅支持三维场景视图,不支持二维地图视图。
该符号图层参考 Cesium PolylineArrowType 的箭头线效果,仅保存引擎无关的样式配置,具体渲染由各引擎插件实现。
通常与 PointSymbol3D 配合使用,作为其 symbolLayers 数组中的元素。

Name Type Description
options Object

构造参数

Name Type Default Description
material ColorMaterial new ColorMaterial() 可选

箭头线材质,目前支持纯色材质

size Number 25 可选

箭头线宽度,单位:像素

headLength Number 20 可选

兼容旧接口的箭头头部长度

headRadius Number 9 可选

兼容旧接口的箭头头部半径

shaftLength Number 40 可选

兼容旧接口的箭头杆长度

shaftRadius Number 3 可选

兼容旧接口的箭头杆半径

loop Boolean false 可选

是否闭合线段,闭合时渲染端会将首点追加到末尾

depthFail Boolean true 可选

是否启用深度失败样式,用于被遮挡时显示半透明箭头线

depthFailAlpha Number 0.3 可选

深度失败颜色透明度,取值范围 0~1

Example

创建三维箭头线符号图层

const { ArrowSymbol3DLayer, ColorMaterial, PointSymbol3D } = zondy.symbol
const { Color } = zondy

const arrowSymbol3DLayer = new ArrowSymbol3DLayer({
  material: new ColorMaterial({
    color: new Color(255, 0, 0, 1)
  }),
  size: 25,
  loop: false,
  depthFail: true,
  depthFailAlpha: 0.3
})

const symbol = new PointSymbol3D({
  symbolLayers: [arrowSymbol3DLayer]
})

Extends

Members

depthFailBoolean

是否启用深度失败样式。

Default Value:
true

depthFailAlphaNumber

深度失败颜色透明度。

Default Value:
0.3

idString

符号图层唯一标识

localPositionsArray.<Array.<Number>>

Local Cartesian positions used by renderers that apply transformMatrix as local-to-world.

loopBoolean

是否闭合线段。

Default Value:
false

materialColorMaterial

箭头线材质,目前支持 ColorMaterial 纯色材质。

sizeNumber

箭头线宽度,单位:像素。

Default Value:
25

transformMatrixArray.<Number>

图层的变换矩阵,格式为16个元素的一维数组,表示一个4x4的齐次坐标变换矩阵

三维符号图层类型,固定为 Symbol3DLayerType.arrow

Methods

clone(){ArrowSymbol3DLayer}

base/symbol/symbol3DLayer/ArrowSymbol3DLayer.js, line 127

克隆并返回一个新的 ArrowSymbol3DLayer 对象。

Returns:
Type Description
ArrowSymbol3DLayer 新的 ArrowSymbol3DLayer 对象

toJSON(){Object}

base/symbol/symbol3DLayer/ArrowSymbol3DLayer.js, line 106

导出为 JSON 对象。

Returns:
Type Description
Object 导出的 JSON 对象

ArrowSymbol3DLayer.fromJSON(json){ArrowSymbol3DLayer}

base/symbol/symbol3DLayer/ArrowSymbol3DLayer.js, line 98

通过 JSON 数据构造一个 ArrowSymbol3DLayer 对象。

Name Type Description
json Object

JSON 数据

Returns:
Type Description
ArrowSymbol3DLayer 新的 ArrowSymbol3DLayer 对象