Summary
Methods:
| getBBox |
计算该模型整体三维包围盒 |
| getChildren |
获取所有子节点 |
| getHighlight |
获取模型的高亮状态 |
| getModelBBox |
计算在模型坐标系中的三维包围盒 |
| getOpacityFactor |
获取模型的透明因子。 |
| offClick |
取消要素注册的单击事件。 |
| offHover |
取消要素注册的Hover(滑入滑出)事件。 |
| onClick |
注冊白模的单击事件,需调用map.enableInteractive()开启点和白模的交互行为才有效。 |
| onHover |
注冊fbx模型的Hover事件,需调用map.enableInteractive()开启点和白模的交互行为才有效。 |
| readModelAndInitIndexedDB |
返回读取模型并初始化indexedDB的promise |
| resetOrigin |
校正原点,将整个模型的bbox某一个面(xoy,xoz,yox)的中心点校正到建模的原点。 |
| setHighlight |
模型整体高亮或者取消高亮,(单个Mesh高亮,请直接使用mesh#setHighlight) |
| setOpacityFactor |
设置透明因子,即:模型每个部分的透明度基数*透明因子=渲染的透明值。 |
| setPosition |
设置模型位置,即设置模型原点在地图上的地理坐标。 |
| setRotate |
相对于模型之前位置的旋转量。 |
| setScale |
相对于模型之前大小的缩放量。 |
| setTranslate |
相对于模型之前位置的平移量。 |
Constructor
new FbxModel(fileUrl, options)
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fileUrl |
String | 模型文件的地址。 |
||||||||||||||||||||||||
options |
Object |
|
Example
let model = new hmap.model.FbxModel('../public/fbxData/nanjing.fbx');
Methods
-
getBBox() → {module:basetype~BBox}
-
计算该模型整体三维包围盒
-
getChildren() → {Array.<FbxMesh>}
-
获取所有子节点
Returns:
Array.<FbxMesh> -
getHighlight() → {Boolean}
-
获取模型的高亮状态
Returns:
Boolean -是否高亮
-
getModelBBox() → {module:basetype~BBox}
-
计算在模型坐标系中的三维包围盒
-
getOpacityFactor() → {Number}
-
获取模型的透明因子。
Returns:
Number -透明因子
Example
let opacityFactor = model.getOpacityFactor(); -
offClick()
-
取消要素注册的单击事件。
-
offHover()
-
取消要素注册的Hover(滑入滑出)事件。
-
onClick(callback)
-
注冊白模的单击事件,需调用map.enableInteractive()开启点和白模的交互行为才有效。
Parameters:
Name Type Description callback回调处理函数,参数是event对象,event.feature 可以取到要素本身及mesh构成的数组。 event.lonlat可以取到点击位置的经纬度,event.mapPixel可以去到像素位置
-
onHover(mouseoverCallback, mouseOutCallback)
-
注冊fbx模型的Hover事件,需调用map.enableInteractive()开启点和白模的交互行为才有效。
Parameters:
Name Type Description mouseoverCallback回调处理函数,参数是event对象,event.feature 可以取到要素本身及mesh构成的数组。event.lonlat可以取到点击位置的经纬度,event.mapPixel可以去到像素位置
mouseOutCallback回调处理函数,参数是event对象,event.feature 可以取到要素本身及mesh构成的数组。event.lonlat可以取到点击位置的经纬度,event.mapPixel可以去到像素位置
-
readModelAndInitIndexedDB() → {Promise}
-
返回读取模型并初始化indexedDB的promise
Returns:
Promise -
resetOrigin(up)
-
校正原点,将整个模型的bbox某一个面(xoy,xoz,yox)的中心点校正到建模的原点。
Parameters:
Name Type Description upString 模型的上方向,取值范围为X,Y,Z或者为空,默认为空,会将模型bbox的中心点校正到建模坐标的原点。默认值为空为了兼容以前版本,很多模型在导出时会选择上方向为'Y',当模型展示异常时可以尝试上方向为'Y'.
-
setHighlight(flag, color)
-
模型整体高亮或者取消高亮,(单个Mesh高亮,请直接使用mesh#setHighlight)
Parameters:
Name Type Description flagBoolean 设置高亮状态,true为高亮,false取消高亮
colorColor 设置高亮颜色,默认为Color(255,0,0,1)
-
setOpacityFactor(opacityFactor)
-
设置透明因子,即:模型每个部分的透明度基数*透明因子=渲染的透明值。
Parameters:
Name Type Description opacityFactorNumber 透明因子,范围[0,1]。
Example
model.setOpacityFactor(0.8); -
setPosition(positionX, positionY, positionZ) → {module:model~FbxModel}
-
设置模型位置,即设置模型原点在地图上的地理坐标。
Parameters:
Name Type Description positionXNumber X值
positionYNumber Y值
positionZNumber Z值
Example
model.setPosition(120, 30, 0); -
setRotate(rotateX, rotateY, rotateZ) → {module:model~FbxModel}
-
相对于模型之前位置的旋转量。
Parameters:
Name Type Description rotateXNumber X轴旋转分量
rotateYNumber Y轴旋转分量
rotateZNumber Z轴旋转分量
Example
model.setRotate(90, 0, 0); -
setScale(scaleX, scaleY, scaleZ) → {module:model~FbxModel}
-
相对于模型之前大小的缩放量。
Parameters:
Name Type Description scaleXNumber X轴缩放分量
scaleYNumber Y轴缩放分量
scaleZNumber Z轴缩放分量
Example
model.setScale(0.00001, 0.00001, 0.00001); -
setTranslate(translateX, translateY, translateZ) → {module:model~FbxModel}
-
相对于模型之前位置的平移量。
Parameters:
Name Type Description translateXNumber X轴平移分量
translateYNumber Y轴平移分量
translateZNumber Z轴平移分量
Example
model.setTranslate(120, 30, 0);