new FdViewPointsManager(viewer)
Parameters:
| Name | Type | Description | 
|---|---|---|
| viewer | Freedo.Viewer | 视景器 | 
Example
var viewer = Freedo.FdApp.createDefaultViewer('freedoContainer');
var viewPointsManager = new Freedo.FdTools.FdViewPointsManager(viewer);
var currentGroupId = viewPointsManager.createGroup('Group_' + new Date().getTime());
var cameraInfo = Freedo.FdCamera.getCurrentCameraInfo(viewer.scene.camera);
viewPointsManager.appendViewpoint(currentGroupId, {
    name: '视点_' + new Date().getTime(),
    icon: imgData,
    cameraInfo: cameraInfo
});
    
Members
- 
    playingLoop :Boolean
- 
    
    获取视点是否在播放 Type:- Boolean
 Examplevar playingLoop = viewPointsManager.playingLoop; 
- 
    playingLoop :Boolean
- 
    
    设置视点是否播放 Type:- Boolean
 ExampleviewPointsManager.playingLoop = true; 
- 
    viewPointsOptions :Object
- 
    
    
    
    
        Type:- Object
 Examplevar viewPointsOptions = viewPointsManager.viewPointsOptions ; for(var key of viewPointsOptions){ var groupOption = key; var name = groupOption.name; var viewPointsList = groupOption.list; for(var i = 0 ;i <viewPointsList.length ;i++){ var viewPointOption = viewPointsList[i] ; var viewPointName = viewPointOption.name ; var cameraInfo = viewPointOption.cameraInfo ; } }
Methods
- 
    appendViewpoint(groupID, options)
- 
    
    在当前视点组列表的末尾增加一个视点 Parameters:Name Type Description groupIDString 视点组ID optionsObject 视点选项 PropertiesName Type Description nameString 视点名称 cameraInfoArray.<Number> 相机信息的数组,该数组的组成与FdCamera.getCurrentCameraInfo相同。 Returns:添加成功返回true,否则返回false - Type
- Boolean
 Examplevar currentGroupId; currentGroupId = viewPointsManager.createGroup('Group_' + new Date().getTime()); var cameraInfo = Freedo.FdCamera.getCurrentCameraInfo(scene.camera); viewPointsManager.appendViewpoint(currentGroupId, { name: '视点_' + new Date().getTime(), cameraInfo: cameraInfo });
- 
    createGroup(groupName [, groupID])
- 
    
    给定视点组的名称,创建视点组 Parameters:Name Type Argument Description groupNameString 视点组的名称 groupIDString <optional> 
 视点组的Id,可省略,省略情况下用Guid作为组的Id Returns:返回视点组ID - Type
- String
 Examplevar currentGroupId = viewPointsManager.createGroup('Group_' + new Date().getTime());
- 
    dispose()
- 
    
    重置视点组的所有资源,同时取消之前的飞行状态 ExampleviewPointsManager.dispose(); 
- 
    flyTo(groupID, index)
- 
    
    飞入某个视点 Parameters:Name Type Description groupIDString 视点组ID indexNumber 指定视点组列表中的位置 Returns:成功返回true,否则返回false - Type
- Boolean
 ExampleviewPointsManager.flyTo(currentGroupId, 0); 
- 
    getAllGroupIDs()
- 
    
    获取所有视点组的ID Returns:返回一个包含视点组ID的数组 - Type
- Array.<String>
 Examplevar groupIdsArray = viewPointsManager.getAllGroupIDs(); 
- 
    getCurrentGroupID()
- 
    
    获取当前组ID Returns:组ID - Type
- String
 Examplevar currentGroupID = viewPointsManager.getCurrentGroupID(); 
- 
    getGroupName(groupID)
- 
    
    获取视点组的名字 Parameters:Name Type Description groupIDString 视点组ID Returns:视点组名称,无效则返回:'' - Type
- String
 Examplevar groupName = viewPointsManager.getGroupName(currentGroupId); 
- 
    getGroupOptions(groupID)
- 
    
    获取组的选项 Parameters:Name Type Description groupIDString 组ID options.nameString 视点组名称 options.listArray.<Object> 视点组里的视点列表,包含该组内所有的视点及其属性 Returns:视点组参数 - Type
- Object
 Examplevar groupOptions = viewPointsManager.getGroupOptions(currentGroupId); 
- 
    getGroupPlayingGroupID()
- 
    
    获取正在播放的视点组ID Returns:视点组ID - Type
- String
 Examplevar playingGroupId = viewPointsManager.getGroupPlayingGroupID(); 
- 
    getGroupPlayingIndex()
- 
    
    获取正在播放的视点组的视点索引 Returns:返回视点索引 - Type
- Number
 Examplevar playingIndex = viewPointsManager.getGroupPlayingIndex(); 
- 
    getGroupPlayingStatus()
- 
    
    获取视点组的播放状态 Returns:播放状态可能是 Playing/Stopped/Paused - Type
- String
 Examplevar playingStatus = viewPointsManager.getGroupPlayingStatus(); 
- 
    getViewPoint(groupID, index)
- 
    
    获取视点属性 Parameters:Name Type Description groupIDString 视点组ID indexNumber 指定视点组列表中的位置 options.nameString 视点名称 options.cameraInfoArray.<Number> 相机信息的数组,该数组的组成与FdCamera.getCurrentCameraInfo相同。 Returns:options 视点选项,目前只有name,cameraInfo - Type
- Object
 Examplevar viewPointOpt = viewPointsManager.getViewPoint(currentGroupId, 0); 
- 
    getViewpointsLength(groupID)
- 
    
    获取视点组中视点的数量 Parameters:Name Type Description groupIDString 视点组ID Returns:视点组中视点的数量 - Type
- Number
 Examplevar viewPointsLengthInGroup = viewPointsManager.getViewpointsLength(currentGroupId); 
- 
    goTo(groupID, index)
- 
    
    跳入某个视点 Parameters:Name Type Description groupIDString 视点组ID indexNumber 指定视点组列表中的位置 Returns:成功返回true,否则返回false - Type
- Boolean
 ExampleviewPointsManager.goTo(currentGroupId, 0); 
- 
    insertViewpoint(groupID, options, index)
- 
    
    在视点组列表的某个位置插入一个视点 Parameters:Name Type Description groupIDString 视点组ID optionsObject 视点组选项 PropertiesName Type Description nameString 视点名称 cameraInfoArray.<Number> 相机信息的数组,该数组的组成与FdCamera.getCurrentCameraInfo相同。 indexNumber 指定视点组列表中的位置 Returns:添加成功返回true,否则返回false - Type
- Boolean
 Examplevar currentGroupId; currentGroupId = viewPointsManager.createGroup('Group_' + new Date().getTime()); var cameraInfo = Freedo.FdCamera.getCurrentCameraInfo(scene.camera); viewPointsManager.insertViewpoint(currentGroupId, { name: '视点_' + new Date().getTime(), cameraInfo: cameraInfo } ,0 );
- 
    on(listener [, scope])
- 
    
    注册捕捉FdViewpointsManager类的回调函数。 事件类型有:PlayingGroupCurrentIndexChanged/PlayingGroupStatusChanged/PlayingGroupPropertyChanged,GroupsChanged,ViewPointChanged Parameters:Name Type Argument Description listenerFdTools.FdViewpointsManager~FdViewpointsManagerCallback 当有事件触发时被执行的函数。 scopeObject <optional> 
 listener函数执行时的绑定的对象。 Returns:返回一个函数,调用该函数可以取消监听。 - Type
- Freedo.Event~RemoveCallback
 ExampleviewPointsManager.on( function(eventType, param){ if (eventType === 'CurrentIndexChanged') { //do something } else if (eventType === 'StatusChanged') { //do something } else if (eventType === 'PropertyChanged') { //do something } })
- 
    pauseGroup()
- 
    
    暂停正在播放的视点组,当前视点位置不变 ExampleviewPointsManager.pauseGroup(); 
- 
    removeAllGroups()
- 
    
    删除所有视点组 ExampleviewPointsManager.removeAllGroups(); 
- 
    removeGroup(groupID)
- 
    
    删除视点组 Parameters:Name Type Description groupIDString 视点组ID Returns:成功返回true,否则返回false - Type
- Boolean
 ExampleviewPointsManager.removeGroup(currentGroupId); 
- 
    removeViewpoint(groupID, index)
- 
    
    删除视点 Parameters:Name Type Description groupIDString 视点组ID indexNumber 指定视点组列表中的位置 ExampleviewPointsManager.removeViewpoint(currentGroupId, 0); 
- 
    setCurrentGroupID(组ID)
- 
    
    设置当前组ID Parameters:Name Type Description 组IDString ExampleviewPointsManager.setGroupPlayingGroupID(currentGroupID); 
- 
    setGroupName(groupID, groupName)
- 
    
    设置组的名字 Parameters:Name Type Description groupIDString 组ID groupNameString 组名称 ExampleviewPointsManager.setGroupName(currentGroupId, 'NewGroupName'); 
- 
    setGroupPlayingIndex(index)
- 
    
    设置当前播放的视点索引,并同时跳入该视点位置 Parameters:Name Type Description indexNumber 视点索引 ExampleviewPointsManager.setGroupPlayingIndex(0); 
- 
    setViewpoint(groupID, index, options)
- 
    
    设置视点 Parameters:Name Type Description groupIDString 视点组ID indexNumber 指定视点组列表中的位置 optionsObject 视点选项,目前只有cameraInfo PropertiesName Type Description nameString 视点名称 cameraInfoArray.<Number> 相机信息的数组,该数组的组成与FdCamera.getCurrentCameraInfo相同。 Returns:设置成功返回true,否则返回false - Type
- Boolean
 Examplevar cameraInfo = Freedo.FdCamera.getCurrentCameraInfo(scene.camera); viewPointsManager.setViewpoint(currentGroupId, 0, { name: '视点_' + new Date().getTime(), cameraInfo: cameraInfo } );
- 
    startOrResumeGroup(groupID)
- 
    
    播放或者恢复播放视点组 Parameters:Name Type Description groupIDString 视点组ID ExampleviewPointsManager.startOrResumeGroup(currentGroupId); 
- 
    stopGroup()
- 
    
    停止正在播放的视点组,当前视点回到第一个视点。 ExampleviewPointsManager.stopGroup();