BabylonLayer

BabylonLayer

BabylonLayer 在EarthViewer场景中融合Babylon的关键对象。对象创建时,自动创建了一个内置BABYLON.Scene,然后可以通过Babylon API创建各种对象,包括材质、Mesh等。该类通过设置position属性,可以在指定地球坐标,从而与其他的Drawsee对象绘制在同一坐标空间。该类提供了一些方法,可以在局部坐标与地球坐标直接进行转换,用于绘制或者计算。
基类: Layer3

Members

position : Vector3

设置图层的基准地球坐标位置。以后通过Scene创建的对象,其坐标都是相对于该基准位置。

readonly scene : Scene

内部包含的BABYLON.Scene对象,用于创建所有后续对象

Methods

constructor(earthViewer,name,autoCreateLight)

创建新的BabylonLayer。该类是EarthViewer场景中融合Babylon的关键对象。对象创建时,自动创建了一个内置BABYLON.Scene,然后可以通过Babylon API创建各种对象,包括材质、Mesh等。通过设置position属性,可以在指定地球坐标,从而与其他的Drawsee对象绘制在同一坐标空间。提供了一些方法,可以在局部坐标与地球坐标直接进行转换,用于绘制或者计算。
Name Type Description
earthViewer EarthViewer
name string 名称,必须唯一,不能重名
autoCreateLight boolean optional是否自动创建光源

addModel(position,gltfUrl) → Promise<BabylonGeoObject>

在指定位置添加glTF格式的模型文件
Name Type Description
position Vector3 地球坐标位置
gltfUrl string glTF格式模型文件url

clear()

清除所有对象

clearPickedObjects()

清除对象的选中状态

earthToLocal(earth) → Vector3

从地球坐标变换为局部坐标
Name Type Description
earth Vector3 地球坐标

earthToLocalToRef(earth,result)

从地球坐标变换为局部坐标
Name Type Description
earth Vector3 地球坐标
result Vector3 局部坐标结果

hasAnimation() → boolean

是否有需要动画绘制的对象

localToEarth(local) → Vector3

从局部坐标变换为地球坐标
Name Type Description
local Vector3 局部坐标

localToEarthToRef(local,result)

从局部坐标变换为地球坐标
Name Type Description
local Vector3 局部坐标
result Vector3 地球坐标结果

pickByRay(worldPt1,worldPt2,resultPt) → PickableObject

使用两点定义的射线选取一个对象
Name Type Description
worldPt1 Vector3 世界坐标系点1
worldPt2 Vector3 世界坐标系点2
resultPt Vector3 如果选中则保存对象被击中的三维位置