geosolution/cell~Particle(options)

数学模型粒子模型module:geosolution/math~ParticleModel的组成元素-通用粒子元素,自身具有惯性,受重力(或升力)影响,暂时忽略空气阻力,用来构建烟、火、喷水等模糊的效果。

Summary

Methods:
destroy

销毁对象,如果元素已经添加到其模型,需要先从模型中移除后再销毁

getId

获取粒子对象的id值

resetByMapUnit

根据地图单位重新调整参数

Constructor

new Particle(options)

Parameters:
Name Type Description
options Object
Name Type Description
origination module:geom~Point | module:geom~Line | module:geom~Polygon

粒子源,其类型可以是点、线、面几何。

destination module:geom~Point

粒子终点,当粒子源是线、面类型时,此项无效,烟、火等没有终点。

inertia Array

粒子在xyz三个方向上的惯性速度,默认为[0,0,0],各分量单位为‘米/秒’,烟、火等自身没有惯性;如果粒子有destination,则此项自动计算。

gravity Array

粒子在xyz三个方向上所受的外力加速度,默认为[0,0,0],各分量单位为‘(米/秒)/秒’,gravity[2]为负表示粒子受重力影响,为正则表示粒子受上升力影响。

color module:style~Color

粒子颜色,如果设置了参数iconUrl,则此项设置无效。

iconUrl String

粒子纹理图片的路径,如果不提供,粒子默认为设定颜色的渐变圆。

blendMode String

粒子之间的混合模式,当前设定了两种取值,"alpha":透明度混合 "additive":加法混合。

radius Number

粒子半径,取值为大于0的数值,默认为10,参数设置不在取值范围自动取默认值,单位米。

endRadius Number

粒子半径,取值为大于0的数值,默认为0,参数设置不在取值范围自动取默认值,单位米。

opacity Number

粒子透明度,取值为[0,1],默认为1。

endOpacity Number

粒子生命周期结束时的透明度,取值为[0,1],默认为0。

pointNum Number

粒子总的数量,取值为大于0的整数,默认值为100,参数设置不在取值范围自动取默认值。

controlNum Number

粒子一次发射的数量,取值为大于0的整数,默认值为2,参数设置不在取值范围自动取默认值,用来控制粒子流动的速度。(pointNum/controlNum)/fps即为粒子的生命周期时间,fps默认为60不建议更改。

forceScale Array

粒子每帧运动在xyz方向上的偏移比例,默认[1,1,1],参数表示xyz方向上的偏移分量。

scale Number

和预设的比例,默认为1,取值为大于0的数值,参数设置不在取值范围自动取默认值。

needLoop Boolean

动画是否需要循环播放,默认为true。

Example
let fire = new hmap.geosolution.cell.Particle({
    origination:new hmap.geom.Point(new hmap.basetype.Coordinate(120.2177617760875,30.221244396806093,0.00)),
    color:new hmap.style.Color(255,102,51,1.0),
    scale:1,
    pointNum:100,
    pointRadius:10,
    gravity: [0.0,0.0,0.02],
    controlNum:2,
    forceScale:[0.6,0.6,0]
});

Methods

destroy()

销毁对象,如果元素已经添加到其模型,需要先从模型中移除后再销毁

getId() → {String}

获取粒子对象的id值

Returns:
String -

id值

resetByMapUnit()

根据地图单位重新调整参数