new Viewer(options)
Parameters:
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | 包含以下参数的Object对象 Properties
|
Example
var viewer = new Motor.Viewer({
container: 'container',
viewerMode: Motor.ViewerMode.BIM,
appid: appid,
secret: secret
});
Members
-
adsorbEditor :AdsorbEditor
-
捕捉编辑器
-
allowCameraUnderground :Boolean
-
是否允许相机进入地下
- Default Value:
- false
-
ambientOcclusion :AmbientOcclusion
-
环境光遮蔽对象,用于控制环境光遮蔽强度
Example
viewer.ambientOcclusion.uniforms.intensity = 2
-
animatedSpeed :Number
-
获取或设置3D-Tiles建筑物拔地而起的动画速率,参考特效
-
readonly antialias :Boolean
-
获取或设置TAA抗锯齿模式状态
-
camera :Camera
-
相机对象
-
cameraChanged :Event
-
相机移动事件
-
cameraMoveEnd :Event
-
相机结束移动的事件
-
cameraMoveStart :Event
-
相机开始移动的事件
-
cimControlMode :CIMControlMode
-
获取或设置CIM场景下的鼠标控制模式,参考模式切换
-
controller :OrbitControl|ScreenSpaceCameraController
-
相机控制器,BIM模式下为OrbitControl, CIM模式下为ScreenSpaceCameraController
-
drawEdge :Boolean
-
绘制边框线
-
edgeColor :Color
-
设置边框线颜色
-
enableAO :Boolean
-
开启或关闭环境光遮蔽
-
enableMarquee :Boolean
-
开启/关闭框选放大,参考视角控制
-
enableShadow :Boolean
-
开启或关闭阴影
-
enableSharpen :Boolean
-
锐化开关
-
enableSkyBox
-
开启或关闭天空盒子
-
enableSnap :Boolean
-
开启或关闭捕捉点
-
envDate :Date
-
获取或设置场景时间, javascript的Date对象
-
isFlashlight :Boolean
-
是否开启手电筒光源模式
-
logarithmicDepthBuffer :Boolean
-
获取或设置对数深度
-
mapCollection :MapCollection
-
地图图层集合
-
navigationMode :NavigationMode
-
获取或设置导航模式,参考视角控制
-
planeModeOrigin
-
平面模式下的原点在ECEF坐标系下的位置
-
postProcessStages :PostProcessStageCollection
-
后处理集合
-
roamEditor :RoamEditor
-
第一人称视角控制器
-
shadowMap :ShadowMap
-
阴影贴图
Example
viewer.shadowMap.darkness = 0.5;
-
shouldAnimate :Boolean
-
是否开启时间动态
-
showAtmosphere :Boolean
-
显示隐藏大气
-
showMoon :Boolean
-
控制月亮显隐
-
showUniverse :Boolean
-
显示隐藏星空
-
skyBox :SkyBox
-
获取或设置场景天空盒
-
sunlightIntensity :Number
-
阳光强度
- Default Value:
- 1.5
-
taaEnabled :Boolean
-
开启TAA抗锯齿
-
viewerMode :ViewerMode
-
获取或设置当前视窗模式(BIM/CIM),参考模式切换
-
waterFlowSpeed :Number
-
水流速度
Methods
-
addMouseEventListener(eventType, eventHandler, modifier)
-
添加鼠标事件,参考点选操作
Parameters:
Name Type Description eventType
MouseEventType 事件类型
eventHandler
EventHandler 回调函数
modifier
Number 组合按键码
-
addParticleSystem(particleSystem) → {ParticleSystem}
-
添加粒子系统效果
Parameters:
Name Type Description particleSystem
ParticleSystem Returns:
ParticleSystem -
addVideoProjection(options) → {VideoProjection}
-
添加视频投影,参考特效
Parameters:
Name Type Description options
Object 包含以下参数的对象
Properties
Name Type Attributes Default Description videoUrl
String 视频地址,必须是HTML5支持的视频格式
near
Number <optional>
1 投影近截面
far
Number <optional>
100 投影近截面
viewerPosition
Cartesian3 <optional>
new Motor.Cartesian3(0,0,0) 投影原点
targetPosition
Cartesian3 <optional>
new Motor.Cartesian3(0,0,0) 投影目标点
heading
Number <optional>
投影方向
pitch
Number <optional>
投影方向上的俯仰角
roll
Number <optional>
绕投影方向的旋转角
Returns:
VideoProjection -
addWater(positions, optionsopt)
-
添加水面,参考特效
Parameters:
Name Type Attributes Description positions
Array.<Cartesian3> 水面多边形顶点数组
options
Object <optional>
包含以下参数的对象
Properties
Name Type Attributes Default Description flowAngle
Number <optional>
0 水流方向
reflectFactor
Number <optional>
0.5 反射系数
speed
Number <optional>
0.05 水流速度
waterColor
Number <optional>
new Motor.Color(0, 0.5, 0.5) 颜色
-
cartesianToCanvasCoordinates(point, result)
-
将三维坐标转成当前屏幕坐标
Parameters:
Name Type Description point
Cartesian3 result
Cartesian2 -
createVolumeRender(options) → {VolumeRender}
-
添加体渲染,参考特效
Parameters:
Name Type Description options
Object 包含以下参数的对象
Properties
Name Type Attributes Default Description dimensions
Array.<Number> 体渲染包围盒长宽高
center
Cartesian3 包围盒中心三维坐标
image
String 体渲染数据图片
isRGB
Boolean <optional>
true 是否按照图片颜色显示
colorScheme
Array.<Object> <optional>
自定义色表
alphaCorrection
Number <optional>
0.5 透明度修正指数
Returns:
VolumeRenderExample
var volumeRender = viewer.createVolumeRender({ center: Motor.Cartesian3.fromDegrees(121,31,300), dimensions: [15520.3208, 12046.920233, 600], image: 'path/to/volume/image', isRGB: false, alphaCorrection: 0.1, colorScheme: [ {stop: 0.1, color: 'rgba(0, 0, 255, 0.6)'}, {stop: 0.2, color: 'rgba(162, 180, 189, 1)'}, {stop: 0.4, color: 'rgba(255, 255, 0, 1)'}, {stop: 0.6, color: 'rgba(245, 152, 105, 1)'}, {stop: 0.8, color: 'rgba(255, 10, 10, 1)'}, {stop: 1.0, color: 'rgba(255, 0, 0, 1)'}, ] });
-
destroy() → {Object}
-
销毁Viewer
Returns:
Object -销毁后的对象
-
drillPick(start, end, resultsopt) → {Promise.<Array.<Cartesian3>>}
-
获取两个点连线所经过的碰撞点
Parameters:
Name Type Attributes Description start
Cartesian3 起点坐标
end
Cartesian3 终点坐标
results
Array.<Cartesian3> <optional>
存放结果的数组
Returns:
Promise.<Array.<Cartesian3>> -
flyTo(object, callback, duration)
-
飞向目标
Parameters:
Name Type Description object
FlyOption | Project | Component | Array.<Component> 飞行参数、工程对象或者构件对象
callback
function 飞行完成后的回调函数
duration
Number 飞行时间
-
getOpeningProjectList() → {Array.<Project>}
-
获取当前场景中已经打开的工程对象
Returns:
Array.<Project> -
getProjectList() → {Promise.<Array.<Project>>}
-
获取当前账号中的所有工程
Returns:
Promise.<Array.<Project>> -
homeView()
-
CIM模式下,视角定位到全球
-
initialize() → {Promise}
-
初始化Viewer
Returns:
Promise -
isDestroyed() → {Boolean}
-
Viewer是否销毁
Returns:
Boolean -
isolateComponents(options, blockopt)
-
根据工程和构件列表隔离构件
Parameters:
Name Type Attributes Default Description options
Object 包含以下参数的对象
Properties
Name Type Description project
Project 工程对象
components
Array.<Component> | Array.<String> 构件或者构件id列表
block
Boolean <optional>
false 是否屏蔽构件
-
loadModel(options) → {Object}
-
加载gltf模型,参考加载数据
Parameters:
Name Type Description options
Object 包含以下参数的Object对象
Properties
Name Type Attributes Default Description url
String 模型路径
origin
Cartesian3 放置模型的原点坐标
translation
Cartesian3 <optional>
new Cartesian3(0,0,0) XYZ轴的平移量
rotationZ
Number <optional>
0 Z轴旋转量
zoomTo
Boolean <optional>
true 加载完成后,镜头是否移动到模型
luminanceAtZenith
Number <optional>
0.2 模型亮度,[0-1]
Returns:
Object -返回模型对象
Example
var model = viewer.loadModel({ url:'path/to/model.gltf', origin:Motor.Cartesian3.fromDegrees(121,31,0) })
-
loadTileset(options) → {Object}
-
添加3d-tiles数据,参考加载数据
Parameters:
Name Type Description options
Object 包含以下参数的对象
Properties
Name Type Attributes Default Description url
String 数据地址
useGradual
Boolean <optional>
false 是否开启渐变特效
planView
Boolean <optional>
false 是否开启俯视压平特效
shouldAnimate
Boolean <optional>
false 是否开启建筑上升动画特效
gradualOptions
Object <optional>
渐变特效参数
Properties
Name Type Attributes Description startColor
Object <optional>
渐变起始颜色
endColor
Object <optional>
渐变结束颜色
gradualOffset
Object <optional>
渐变结束高度
luminanceAtZenith
Number <optional>
0.2 模型亮度,[0-1]
zoomTo
Boolean <optional>
true 加载完成后,镜头是否移动到模型
Returns:
Object -tileset对象
-
pick(cartesian2, projectopt) → {Component|MarkerView|Object}
-
根据屏幕坐标获取场景对象,参考点选操作
Parameters:
Name Type Attributes Description cartesian2
Cartesian2 屏幕坐标
project
Project <optional>
指定pick的工程,不传入工程就默认拾取所有工程
-
pickPosition(cartesian2) → {Cartesian3}
-
根据屏幕坐标获取三维空间坐标,参考点选操作
Parameters:
Name Type Description cartesian2
Cartesian2 屏幕坐标
-
queryProject(guid, optionsopt)
-
根据guid请求工程对象
Parameters:
Name Type Attributes Description guid
String 工程guid
options
Object <optional>
配置参数
Properties
Name Type Attributes Description forceCenter
Array <optional>
中心点经纬度
-
remove(primitive)
-
删除模型或者3d-tiles数据
Parameters:
Name Type Description primitive
Object 模型或者3d-tiles对象
-
removeMouseEventListener(eventType)
-
移除鼠标事件,参考点选操作
Parameters:
Name Type Description eventType
MouseEventType 事件类型
-
removeParticleSystem(particleSystem)
-
移除粒子系统效果
Parameters:
Name Type Description particleSystem
ParticleSystem -
removeVideoProjection(videoProjection)
-
删除视频投影,参考特效
Parameters:
Name Type Description videoProjection
VideoProjection 视频投影特效实例化对象
-
removeVolumeRender()
-
删除体渲染,参考特效
-
removeWater(water)
-
删除水面,参考特效
Parameters:
Name Type Description water
Water 水面特效类的实例化对象
-
setGlobeVisibility(visibility)
-
设置地球可见性
Parameters:
Name Type Description visibility
Boolean -
setMouseEventByKey(key, type)
-
Parameters:
Name Type Description key
Number 鼠标按键 CameraEventType
type
Number 控制类型缩放、平移、旋转 CameraControlType
-
startOrbiting()
-
地球开始地球自转
-
stopOrbiting()
-
地球停止自转
-
switchToOrthographic()
-
切换正交视图
-
switchToPerspective()
-
切换透视视图
-
updateVolumeRender(image)
-
更新体渲染数据,参考特效
Parameters:
Name Type Description image
String | Image 图片url