new FdPMTSManager(viewer)
Parameters:
Name | Type | Description |
---|---|---|
viewer |
Freedo.Viewer | 视景器 |
Example
var container = document.getElementById('freedoContainer'); var pmtsManager = new Freedo.FdTools.FdPMTSManager(viewer);
Methods
-
add(options [, alpha] [, color] [, token])
-
Parameters:
Name Type Argument Description options
Object pmts数据的配置选项
Properties
Name Type Argument Description url
String pmts的url
show
Boolean 显示与否
id
String <optional>
pmts的id,如果不指定,则会自动创建一个id。
modelMatrix
Array <optional>
pmts中模型的变换矩阵数组,包含16个数值,不能直接写Matrix4的对象
autoFlyto
Boolean <optional>
数据加载完后是否自动飞往目标数据
transform
Array <optional>
[经度偏移,纬度偏移,高度偏移]
maximumScreenSpaceError
Number <optional>
默认值16
maximumMemoryUsage
Number <optional>
内存缓存阈值,默认值32,单位MB
maximumAbsoluteMemoryUsage
Number <optional>
最大内存占用,默认值4096,单位MB
lightColor
Freedo.Cartesian3 <optional>
光颜色系数
enableLighting
Boolean <optional>
是否开启光照
pointColor
String <optional>
点云颜色#AABBCC
pointSize
Number <optional>
点云大小
holes
Array.<Array.<Array.<Number>>> <optional>
挖洞多边形的数组,支持多个洞,每个点为经纬高的数组
alpha
Number <optional>
透明度
color
String <optional>
颜色rgb(red, green, blue)
token
String <optional>
用户token
Returns:
返回所创建pmts数据的id
- Type
- String
-
dispose()
-
销毁所有资源
-
enableLighting(id, enabled)
-
设置pmts是否启用光照
Parameters:
Name Type Description id
String pmts的id
enabled
Boolean 是否启用光照
-
getAidProp(id, uid, aid, token, callback, option)
-
获取部件的属性(如果查找不到,则递归查找父节点)
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
aid
Array.<String> 各级父节点的部件uid数组
token
String callback
FdTools.FdPMTSManager~Callback 获取属性信息的回调函数
option
Object 如果id为空,则option中必须指定pModel
-
getData()
-
获取PMTS配置数据,注意不可更改,形式如下:
{ 'xxx1': { url: 'xxx', token: undefined }, 'xxx2': { } }
-
getModelMatrix(id)
-
获取pmts的模型变换矩阵
Parameters:
Name Type Description id
String pmts的id
Returns:
模型变换矩阵数组,包含16个数值
- Type
- Array.<Number>
-
getPModelArrayByMatrixSet(matrixSet)
-
通过matrixSet对象查找PModel对象的数组
Parameters:
Name Type Description matrixSet
Object matrixSet对象
-
getPModelByMatrix(matrix)
-
通过matrix对象查找PModel对象
Parameters:
Name Type Description matrix
Object matrix对象
-
getPmts(id)
-
获取pmts的配置信息
Parameters:
Name Type Description id
String pmts的id
Returns:
pmts配置信息,形式如下:
{ pModelInfos: [{ pModel: pModel, matrix: matrix, matrixSet: matrixSet, layer: layer }, { pModel: pModel, matrix: matrix, matrixSet: matrixSet, layer: layer }] }
其中pModel属于Freedo.FreedoPModelset类型。
- Type
- Object
-
getPmtsIdByPModel(pModel)
-
通过Tileset对象查找对应的PmtsId
Parameters:
Name Type Description pModel
Freedo.FreedoPModelset Tileset对象
-
getPropFromKeyValue(id, key, val, token, callback, option)
-
通过键值获取属性值
Parameters:
Name Type Description id
String pmts的id
key
String 属性键 例如属性:name
val
String 属性值 例如某个name值: JZL03
token
String callback
FdTools.FdPMTSManager~Callback 获取部件(子节点)id的回调函数
option
Object 查找选项
Properties
Name Type Description pModel
Freedo.FreedoPModelset 限定在某个PModel内
Example
var token = undefined; pmtsManager.getPropFromKeyValue('daqiaoID', 'name', 'JZL03', token, function (json) { console.log(json); });
-
getUidBoundingBoxVertex(id, uid, token, callback)
-
获取部件的包围盒顶点
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
token
String callback
FdTools.FdPMTSManager~Callback 获取部件包围球信息的回调函数
Example
var token = undefined; pmtsManager.getUidBoundingBoxVertex(pmtsid, 'LXL05@367', token, function (v) { console.log(v.vertex); });
-
getUidBoundingSphere(id, uid, token, callback, option)
-
获取部件的包围球
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
token
String callback
FdTools.FdPMTSManager~Callback 获取部件包围球信息的回调函数
option
Object 查找选项
Properties
Name Type Description pModel
Freedo.FreedoPModelset 限定在某个PModel内
Example
var token = undefined; pmtsManager.getUidBoundingSphere(pmtsid, 'LXL05@367', token, function (bs) { console.log(bs.center); });
-
getUidProp(id, uid, token, callback, option)
-
获取部件的属性
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
token
String callback
FdTools.FdPMTSManager~Callback 获取属性信息的回调函数
option
Object 查找选项
Properties
Name Type Description pModel
Freedo.FreedoPModelset 限定在某个PModel内
Example
var token = undefined, option = {}; pmtsManager.getUidProp('daqiaoID', 'LXL05@367', token, function (json) { console.log(json); }, option);
-
getUidTag(id, uid, token, callback)
-
获取部件的属性
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
token
String callback
FdTools.FdPMTSManager~Callback 获取属性信息的回调函数
-
hideAllComponents()
-
隐藏所有组件
-
highlightComponent(pmtsID, uid, r, g, b, a)
-
高亮部件
Parameters:
Name Type Description pmtsID
String pmts的id
uid
String 部件的id
r
Number 颜色R分量,范围0~255
g
Number 颜色G分量,范围0~255
b
Number 颜色B分量,范围0~255
a
Number 透明度,范围0~1
-
on(listener [, scope])
-
注册捕捉FdPMTSManager类的回调函数。
Parameters:
Name Type Argument Description listener
FdTools.FdPMTSManager~FdPMTSManagerCallback 当有事件触发时被执行的函数,FdPMTSManager的事件类型有“DataChanged”、“PmtsLoaded”
scope
Object <optional>
listener函数执行时的绑定的对象。
Returns:
返回一个函数,调用该函数可以取消监听。
- Type
- Freedo.Event~RemoveCallback
Example
pmtsManager.on(function(eventType, param){ if(eventType === 'DataChanged'){ } });
-
remove(id)
-
删除指定的pmts数据
Parameters:
Name Type Description id
String pmts的id
-
removeAll()
-
删除所有pmts数据
-
setBaseColor(id, r, g, b, a)
-
设置场景模型基本颜色
Parameters:
Name Type Description id
String pmts的id
r
number 颜色R分量,范围0~255
g
number 颜色G分量,范围0~255
b
number 颜色B分量,范围0~255
a
number 透明度,范围0~1
-
setComponentColor(pmtsID, uid, r, g, b, a)
-
设置部件颜色(效果同高亮部件)
Parameters:
Name Type Description pmtsID
String pmts的id
uid
String 部件的id
r
Number 颜色R分量,范围0~255
g
Number 颜色G分量,范围0~255
b
Number 颜色B分量,范围0~255
a
Number 透明度,范围0~1
-
setModelMatrix(id, modelMatrixArray, multiply)
-
设置pmts的模型姿态矩阵
Parameters:
Name Type Description id
String pmts的id
modelMatrixArray
Array.<Number> 模型姿态矩阵数组,包含16个数值
multiply
Boolean 是否进行左乘运算,一般来说都是要设置为true,除非明确知道要做什么
-
showAll()
-
显示或者隐藏所有数据
-
showAllComponents()
-
显示所有组件
-
showComponent(id, uid, show)
-
设置部件的显隐
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id
show
Bool 部件的显隐
-
unhighlightAllComponents(id)
-
取消所有高亮
Parameters:
Name Type Description id
String pmts的id
-
unhighlightComponent(id, uid)
-
取消部件高亮
Parameters:
Name Type Description id
String pmts的id
uid
String 部件的id