com.supermap.realspace
类 FlyManager

java.lang.Object
  继承者 com.supermap.realspace.FlyManager

public class FlyManager
extends java.lang.Object

三维场景飞行管理类。


构造方法摘要
FlyManager()
          默认构造函数,构造一个新的 FlyManager 对象。
 
方法摘要
 void addPropertiesChangedListener(PropertiesChangedListener l)
          添加一个用于接收飞行相关属性改变事件(PropertiesChangedListener)的监听器。
 void addStatusChangedListener(StatusChangedListener l)
          添加一个用于接收飞行状态改变事件(StatusChangedListener)的监听器。
 void addStopArrivedListener(StopArrivedListener l)
          添加一个用于接收飞行到达站点事件(StopArrivedEvent)的监听器。
 void dispose()
          释放对象所占用的资源。
 int getCurrentStopIndex()
          返回当前飞行所到的站点。
 double getDuration()
          返回本次飞行(即当前整个路线)需要的总时间,单位为秒。
 double getPlayRate()
          返回播放速率。
 double getProgress()
          返回本次飞行的当前进度,单位为秒。
 Routes getRoutes()
          返回路线集合。
 Scene getScene()
          返回关联的场景。
 FlyStatus getStatus()
          返回当前的飞行状态(停止,暂停,飞行中)。
 void pause()
          暂停当前飞行。
 void play()
          按照返回的路线集合(Routes)指定的路线开始飞行,或继续进行中断的飞行。
 void removePropertiesChangedListener(PropertiesChangedListener l)
          移除一个用于接收飞行相关属性改变事件(PropertiesChangedListener)的监听器。
 void removeStatusChangedListener(StatusChangedListener l)
          移除一个用于接收飞行状态改变事件(StatusChangedListener)的监听器。
 void removeStopArrivedListener(StopArrivedListener l)
          移除一个用于接收飞行到达站点事件(StopArrivedEvent)的监听器。
 void setCurrentStopIndex(int value)
          设置当前飞行所到的站点。
 void setDuration(double value)
          设置本次飞行(即当前整个路线)的总时间,单位为秒。
 void setPlayRate(double value)
          设置播放速率。
 void setProgress(double value)
          设置本次飞行的当前进度,单位为秒。
 void setScene(Scene scene)
          设置关联的场景。
 void stop()
          停止当前飞行。
 void update()
          更新飞行管理的内部计算。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FlyManager

public FlyManager()
默认构造函数,构造一个新的 FlyManager 对象。

方法详细信息

getRoutes

public Routes getRoutes()
返回路线集合。

返回:
路线集合。

getScene

public Scene getScene()
返回关联的场景。

返回:
关联的场景。

setScene

public void setScene(Scene scene)
设置关联的场景。

参数:
scene - 关联的场景。

play

public void play()
按照返回的路线集合(Routes)指定的路线开始飞行,或继续进行中断的飞行。

示例:
以下代码示范了如何按指定的路线继续飞行,假设三维场景处于飞行暂停的状态下。
        public void TestSceneFlyPlay() {
            // 显示三维窗口
            SceneControl sceneControl = new SceneControl();
            Scene sceneObject = sceneControl.getScene();
            //定义三维场景飞行管理类对象并设置其关联场景
            FlyManager flyManager = new FlyManager();
            flyManager.setScene(sceneObject);
            //继续飞行
            flyManager.play();
        }
     

stop

public void stop()
停止当前飞行。

示例:
以下代码示范了如何停止当前飞行,假设三维场景处于飞行的状态下。
        public void TestSceneFlyStop() {
            // 显示三维窗口
            SceneControl sceneControl = new SceneControl();
            Scene sceneObject = sceneControl.getScene();
            //定义三维场景飞行管理类对象并设置其关联场景
            FlyManager flyManager = new FlyManager();
            flyManager.setScene(sceneObject);
            //停止当前飞行
            flyManager.stop();
        }
     

pause

public void pause()
暂停当前飞行。

示例:
以下代码示范了如何暂停当前飞行,假设三维场景处于飞行的状态下。
        public void TestSceneFlyPause() {
            // 显示三维窗口
            SceneControl sceneControl = new SceneControl();
            Scene sceneObject = sceneControl.getScene();
            //定义三维场景飞行管理类对象并设置其关联场景
            FlyManager flyManager = new FlyManager();
            flyManager.setScene(sceneObject);
            //暂停当前飞行
            flyManager.pause();
        }
     

addStopArrivedListener

public void addStopArrivedListener(StopArrivedListener l)
添加一个用于接收飞行到达站点事件(StopArrivedEvent)的监听器。

参数:
l - 一个用于接收飞行指定站点事件的监听器。

removeStopArrivedListener

public void removeStopArrivedListener(StopArrivedListener l)
移除一个用于接收飞行到达站点事件(StopArrivedEvent)的监听器。

参数:
l - 一个用于接收飞行到达站点事件的监听器。

update

public void update()
更新飞行管理的内部计算。

当改变了站点数据时,应调用update方法更新,比如设置站点的速度、时间、是否可见等等,都需要调用 update()。


getDuration

public double getDuration()
返回本次飞行(即当前整个路线)需要的总时间,单位为秒。

注意:该属性需要在调用update方法之后使用。

返回:
本次飞行(即当前整个路线)需要的总时间。单位为秒。

setDuration

public void setDuration(double value)
设置本次飞行(即当前整个路线)的总时间,单位为秒。

参数:
value - 本次飞行(即当前整个路线)的总时间。单位为秒。

getProgress

public double getProgress()
返回本次飞行的当前进度,单位为秒。

注意:该属性只有在飞行和暂停状态下可用,在停止时不可用

返回:
本次飞行的当前进度。单位为秒。

setProgress

public void setProgress(double value)
设置本次飞行的当前进度,单位为秒。

参数:
value - 本次飞行的当前进度。单位为秒。

getCurrentStopIndex

public int getCurrentStopIndex()
返回当前飞行所到的站点。

注意:该属性只有在飞行和暂停状态下可用,在停止时不可用

返回:
当前飞行所到的站点。

setCurrentStopIndex

public void setCurrentStopIndex(int value)
设置当前飞行所到的站点。

参数:
value - 当前飞行所到的站点。

getStatus

public FlyStatus getStatus()
返回当前的飞行状态(停止,暂停,飞行中)。

返回:
当前的飞行状态

getPlayRate

public double getPlayRate()
返回播放速率。

返回:
播放速率。
默认值:
默认值为 1.0。

setPlayRate

public void setPlayRate(double value)
设置播放速率。所设置的值的范围在0到100之间。当设置的值大于1.0时,沿飞行路径快速飞行,小于1.0时,沿飞行路径慢速飞行。

参数:
value - 播放速率。

dispose

public void dispose()
释放对象所占用的资源。


addStatusChangedListener

public void addStatusChangedListener(StatusChangedListener l)
添加一个用于接收飞行状态改变事件(StatusChangedListener)的监听器。

飞行状态的常量类型可参见 FlyStatus 类。

参数:
l - 一个用户接收飞行状态改变事件的监听器。

removeStatusChangedListener

public void removeStatusChangedListener(StatusChangedListener l)
移除一个用于接收飞行状态改变事件(StatusChangedListener)的监听器。

飞行状态的常量类型可参见 FlyStatus 类。

参数:
l - 一个用户接收飞行状态改变事件的监听器。

addPropertiesChangedListener

public void addPropertiesChangedListener(PropertiesChangedListener l)
添加一个用于接收飞行相关属性改变事件(PropertiesChangedListener)的监听器。

参数:
l - 一个用户接收飞行相关属性改变事件的监听器。

removePropertiesChangedListener

public void removePropertiesChangedListener(PropertiesChangedListener l)
移除一个用于接收飞行相关属性改变事件(PropertiesChangedListener)的监听器。

参数:
l - 一个用户接收飞行相关属性改变事件的监听器。