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 optionsObject pmts数据的配置选项
Properties
Name Type Argument Description urlString pmts的url
showBoolean 显示与否
idString <optional>
pmts的id,如果不指定,则会自动创建一个id。
modelMatrixArray <optional>
pmts中模型的变换矩阵数组,包含16个数值,不能直接写Matrix4的对象
autoFlytoBoolean <optional>
数据加载完后是否自动飞往目标数据
transformArray <optional>
[经度偏移,纬度偏移,高度偏移]
maximumScreenSpaceErrorNumber <optional>
默认值16
maximumMemoryUsageNumber <optional>
内存缓存阈值,默认值32,单位MB
maximumAbsoluteMemoryUsageNumber <optional>
最大内存占用,默认值4096,单位MB
lightColorFreedo.Cartesian3 <optional>
光颜色系数
enableLightingBoolean <optional>
是否开启光照
pointColorString <optional>
点云颜色#AABBCC
pointSizeNumber <optional>
点云大小
holesArray.<Array.<Array.<Number>>> <optional>
挖洞多边形的数组,支持多个洞,每个点为经纬高的数组
alphaNumber <optional>
透明度
colorString <optional>
颜色rgb(red, green, blue)
tokenString <optional>
用户token
Returns:
返回所创建pmts数据的id
- Type
- String
-
dispose()
-
销毁所有资源
-
enableLighting(id, enabled)
-
设置pmts是否启用光照
Parameters:
Name Type Description idString pmts的id
enabledBoolean 是否启用光照
-
getAidProp(id, uid, aid, token, callback, option)
-
获取部件的属性(如果查找不到,则递归查找父节点)
Parameters:
Name Type Description idString pmts的id
uidString 部件的id
aidArray.<String> 各级父节点的部件uid数组
tokenString callbackFdTools.FdPMTSManager~Callback 获取属性信息的回调函数
optionObject 如果id为空,则option中必须指定pModel
-
getData()
-
获取PMTS配置数据,注意不可更改,形式如下:
{ 'xxx1': { url: 'xxx', token: undefined }, 'xxx2': { } } -
getModelMatrix(id)
-
获取pmts的模型变换矩阵
Parameters:
Name Type Description idString pmts的id
Returns:
模型变换矩阵数组,包含16个数值
- Type
- Array.<Number>
-
getPModelArrayByMatrixSet(matrixSet)
-
通过matrixSet对象查找PModel对象的数组
Parameters:
Name Type Description matrixSetObject matrixSet对象
-
getPModelByMatrix(matrix)
-
通过matrix对象查找PModel对象
Parameters:
Name Type Description matrixObject matrix对象
-
getPmts(id)
-
获取pmts的配置信息
Parameters:
Name Type Description idString 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 pModelFreedo.FreedoPModelset Tileset对象
-
getPropFromKeyValue(id, key, val, token, callback, option)
-
通过键值获取属性值
Parameters:
Name Type Description idString pmts的id
keyString 属性键 例如属性:name
valString 属性值 例如某个name值: JZL03
tokenString callbackFdTools.FdPMTSManager~Callback 获取部件(子节点)id的回调函数
optionObject 查找选项
Properties
Name Type Description pModelFreedo.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 idString pmts的id
uidString 部件的id
tokenString callbackFdTools.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 idString pmts的id
uidString 部件的id
tokenString callbackFdTools.FdPMTSManager~Callback 获取部件包围球信息的回调函数
optionObject 查找选项
Properties
Name Type Description pModelFreedo.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 idString pmts的id
uidString 部件的id
tokenString callbackFdTools.FdPMTSManager~Callback 获取属性信息的回调函数
optionObject 查找选项
Properties
Name Type Description pModelFreedo.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 idString pmts的id
uidString 部件的id
tokenString callbackFdTools.FdPMTSManager~Callback 获取属性信息的回调函数
-
hideAllComponents()
-
隐藏所有组件
-
highlightComponent(pmtsID, uid, r, g, b, a)
-
高亮部件
Parameters:
Name Type Description pmtsIDString pmts的id
uidString 部件的id
rNumber 颜色R分量,范围0~255
gNumber 颜色G分量,范围0~255
bNumber 颜色B分量,范围0~255
aNumber 透明度,范围0~1
-
on(listener [, scope])
-
注册捕捉FdPMTSManager类的回调函数。
Parameters:
Name Type Argument Description listenerFdTools.FdPMTSManager~FdPMTSManagerCallback 当有事件触发时被执行的函数,FdPMTSManager的事件类型有“DataChanged”、“PmtsLoaded”
scopeObject <optional>
listener函数执行时的绑定的对象。
Returns:
返回一个函数,调用该函数可以取消监听。
- Type
- Freedo.Event~RemoveCallback
Example
pmtsManager.on(function(eventType, param){ if(eventType === 'DataChanged'){ } }); -
remove(id)
-
删除指定的pmts数据
Parameters:
Name Type Description idString pmts的id
-
removeAll()
-
删除所有pmts数据
-
setBaseColor(id, r, g, b, a)
-
设置场景模型基本颜色
Parameters:
Name Type Description idString pmts的id
rnumber 颜色R分量,范围0~255
gnumber 颜色G分量,范围0~255
bnumber 颜色B分量,范围0~255
anumber 透明度,范围0~1
-
setComponentColor(pmtsID, uid, r, g, b, a)
-
设置部件颜色(效果同高亮部件)
Parameters:
Name Type Description pmtsIDString pmts的id
uidString 部件的id
rNumber 颜色R分量,范围0~255
gNumber 颜色G分量,范围0~255
bNumber 颜色B分量,范围0~255
aNumber 透明度,范围0~1
-
setModelMatrix(id, modelMatrixArray, multiply)
-
设置pmts的模型姿态矩阵
Parameters:
Name Type Description idString pmts的id
modelMatrixArrayArray.<Number> 模型姿态矩阵数组,包含16个数值
multiplyBoolean 是否进行左乘运算,一般来说都是要设置为true,除非明确知道要做什么
-
showAll()
-
显示或者隐藏所有数据
-
showAllComponents()
-
显示所有组件
-
showComponent(id, uid, show)
-
设置部件的显隐
Parameters:
Name Type Description idString pmts的id
uidString 部件的id
showBool 部件的显隐
-
unhighlightAllComponents(id)
-
取消所有高亮
Parameters:
Name Type Description idString pmts的id
-
unhighlightComponent(id, uid)
-
取消部件高亮
Parameters:
Name Type Description idString pmts的id
uidString 部件的id