Summary
Methods:
| getActiveSceneIndex |
获取激活的场景模型索引 |
| getBBox |
获取包围盒,注意:包围盒可能比实际数据范围大 |
| getChildren |
获取所有Node节点 |
| getId |
获取模型唯一标识 |
| modelToWorld |
将模型从模型原点先缩放后旋转再平移到世界坐标系下指定的位置。转换结果不叠加。以最后一次为准。 |
| resetOrigin |
校正原点,将整个模型的bbox某一个面(xoy,xoz,yox)的中心点校正到建模的原点。 |
| setActiveSceneIndex |
设置激活的场景模型索引 |
| setHighlight |
高亮当前模型的mesh。 |
| setPosition |
设置模型位置,即设置模型原点在地图上的地理坐标。 |
| setRotate |
设置模型的旋转量。 |
| setScale |
设置模型的缩放量。 |
| setTranslate |
相对于模型之前位置的平移量。 |
Constructor
new GLTF(url, options)
Gltf构造函数
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
url |
String | 模型文件的地址,后缀为.gltf或.glb。 |
||||||
options |
Object | 可选项
|
Example
let gltf=new hmap.model.GLTF('./example.gltf');
Methods
-
getActiveSceneIndex() → {Number}
-
获取激活的场景模型索引
Returns:
Number -
getBBox() → {module:basetype~BBox}
-
获取包围盒,注意:包围盒可能比实际数据范围大
Returns:
module:basetype~BBox -
getChildren() → {Array}
-
获取所有Node节点
Returns:
Array -
getId()
-
获取模型唯一标识
Returns:
-id 模型唯一标识
-
modelToWorld(matrix)
-
将模型从模型原点先缩放后旋转再平移到世界坐标系下指定的位置。转换结果不叠加。以最后一次为准。
Parameters:
Name Type Description matrixObject Name Type Description scaleArray 模型在xyz方向上的缩放因子
rotateArray 模型绕xyz轴的旋转角度,单位为度
translateArray 模型在xyz方向上的平移距离,单位与地图单位保持一致
Example
model.modelToWorld({ scale:[1,1,1], rotate:[0,0,0], translate:[0,0,0] }) -
resetOrigin(up)
-
校正原点,将整个模型的bbox某一个面(xoy,xoz,yox)的中心点校正到建模的原点。
Parameters:
Name Type Description upString 模型的上方向,取值范围为X,Y,Z或者为空,默认为空,会将模型bbox的中心点校正到建模坐标的原点。默认值为空为了兼容以前版本,很多模型在导出时会选择上方向为'Y',当模型展示异常时可以尝试上方向为'Y'.
-
setActiveSceneIndex(value)
-
设置激活的场景模型索引
Parameters:
Name Type Description valueNumber -
setHighlight(flag, color)
-
高亮当前模型的mesh。
Parameters:
Name Type Description flagBoolean 选中设置true;不选中设置false。
colorColor 高亮颜色
Throws:
当参数flag既不是true,也不为false时,抛出参数类型异常。
Example
gltf.setHighlight(true,new hmap.style.Color(255,0,0,1)); -
setPosition(positionX, positionY, positionZ) → {module:model~GLTF}
-
设置模型位置,即设置模型原点在地图上的地理坐标。
Parameters:
Name Type Description positionXNumber X值
positionYNumber Y值
positionZNumber Z值
Example
model.setPosition(120.2187, 30.21259, 0); -
setRotate(rotateX, rotateY, rotateZ) → {module:model~GLTF}
-
设置模型的旋转量。
Parameters:
Name Type Description rotateXNumber X轴旋转分量
rotateYNumber Y轴旋转分量
rotateZNumber Z轴旋转分量
Example
model.setRotate(90, 25, 0); -
setScale(scaleX, scaleY, scaleZ) → {module:model~GLTF}
-
设置模型的缩放量。
Parameters:
Name Type Description scaleXNumber X轴缩放分量
scaleYNumber Y轴缩放分量
scaleZNumber Z轴缩放分量
Example
model.setScale(0.0015, 0.0015, 0.0015); -
setTranslate(translateX, translateY, translateZ) → {module:model~GLTF}
-
相对于模型之前位置的平移量。
Parameters:
Name Type Description translateXNumber X轴平移分量
translateYNumber Y轴平移分量
translateZNumber Z轴平移分量
Example
model.setTranslate(120.2187, 30.21259, 0);