BabylonLayer 在EarthViewer场景中融合Babylon的关键对象。对象创建时,自动创建了一个内置BABYLON.Scene,然后可以通过Babylon API创建各种对象,包括材质、Mesh等。该类通过设置position属性,可以在指定地球坐标,从而与其他的Drawsee对象绘制在同一坐标空间。该类提供了一些方法,可以在局部坐标与地球坐标直接进行转换,用于绘制或者计算。
Members
-
position : Vector3
-
设置图层的基准地球坐标位置。以后通过Scene创建的对象,其坐标都是相对于该基准位置。
-
readonly scene : Scene
-
内部包含的BABYLON.Scene对象,用于创建所有后续对象
Methods
创建新的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 |
清除所有对象
清除对象的选中状态
earthToLocal(earth) → Vector3
从地球坐标变换为局部坐标
Name | Type | Description |
---|---|---|
earth |
Vector3 | 地球坐标 |
从地球坐标变换为局部坐标
Name | Type | Description |
---|---|---|
earth |
Vector3 | 地球坐标 |
result |
Vector3 | 局部坐标结果 |
是否有需要动画绘制的对象
localToEarth(local) → Vector3
从局部坐标变换为地球坐标
Name | Type | Description |
---|---|---|
local |
Vector3 | 局部坐标 |
从局部坐标变换为地球坐标
Name | Type | Description |
---|---|---|
local |
Vector3 | 局部坐标 |
result |
Vector3 | 地球坐标结果 |
pickByRay(worldPt1,worldPt2,resultPt) → PickableObject
使用两点定义的射线选取一个对象
Name | Type | Description |
---|---|---|
worldPt1 |
Vector3 | 世界坐标系点1 |
worldPt2 |
Vector3 | 世界坐标系点2 |
resultPt |
Vector3 | 如果选中则保存对象被击中的三维位置 |