com.supermap.realspace

类 Camera



  • public class Camera
    extends Object
    相机类。

    SuperMap iObjects Java 三维地理信息系统中,通过使用相机对象(Camera 对象)来控制三维场景中所显示的视图。相机对象实际是三维场景中的一个虚拟镜头,通过指定这个虚拟镜头的位置和方向来指定视图。

    默认状态下,相机的位置在经度和纬度都为0的位置,即在赤道和本初子午线相交的位置处,而相机的 getHeading() 的值为0,getTilt() 的值为0,要改变相机的位置和方向,从而获取不同的视图,只需改变相机的设置即可,如通过 setHeading() 方法,即将相机绕着 Z 轴旋转一定角度;通过 setTilt() 方法,即将相机绕着 X 轴旋转一定角度。

    有关相机的详细内容,请参见三维技术文档。

    示范代码:
    以下代码示范了如何设置三维场景中的相机对象
    public void cameraExample() {
    
            //构造一个相机对象,并对其进行设置
            Camera camera = new Camera(116, 40, 3500);
            camera.setAltitudeMode(AltitudeMode.CLAMP_TO_GROUND);
            camera.setHeading(120);
            camera.setTilt(45);
    
            //输出相机对象的描述信息
            String cameraDescription = camera.toString();
            System.out.println("该相机对象的描述信息为:" + cameraDescription);
            //System.out.println("The description of the Camera object is that " + cameraDescription);
    
            //将三维场景飞行到指定的相机对象处
            SceneControl sceneControl = new SceneControl();
            Scene sceneObject = sceneControl.getScene();
            sceneObject.fly(camera);
            sceneObject.refresh();
    
            //释放占用的资源
            sceneControl.dispose();
    
        }
    • 构造器概要

      构造器 
      构造器和说明
      Camera()
      构造一个新的 Camera 对象。
      Camera(Camera camera)
      根据给定的 Camera 对象构造一个与其完全相同的新对象。
      Camera(double longitude, double latitude, double altitude)
      根据指定的参数来构造一个 Camera 的新对象。
      Camera(double longitude, double latitude, double altitude, AltitudeMode altitudeMode, double heading, double tilt)
      根据指定的参数来构造一个 Camera 的新对象。
    • 构造器详细资料

      • Camera

        public Camera()
        构造一个新的 Camera 对象。
      • Camera

        public Camera(Camera camera)
        根据给定的 Camera 对象构造一个与其完全相同的新对象。
        参数:
        camera - 给定的 Camera 对象。
      • Camera

        public Camera(double longitude,
                      double latitude,
                      double altitude)
        根据指定的参数来构造一个 Camera 的新对象。
        参数:
        longitude - 相机的经度,单位为度。
        latitude - 相机的纬度,单位为度。
        altitude - 相机高度,单位为米。
      • Camera

        public Camera(double longitude,
                      double latitude,
                      double altitude,
                      AltitudeMode altitudeMode,
                      double heading,
                      double tilt)
        根据指定的参数来构造一个 Camera 的新对象。
        参数:
        longitude - 相机的经度,单位为度。
        latitude - 相机的纬度,单位为度。
        altitude - 相机高度,单位为米。
        altitudeMode - 高度模式。
        heading - 相机的方位角,单位为度。
        tilt - 倾斜角,单位为度。
    • 方法详细资料

      • getEMPTY

        public static Camera getEMPTY()
        返回空的相机对象。一个空的相机对象的描述字符串为:{Altitude=0.0,Heading=0.0,Latitude=0.0,Longitude=0.0,Tilt=0.0,AltitudeMode=RELATIVE_TO_GROUND}。
        返回:
        空的相机对象。
      • isEmpty

        public boolean isEmpty()
        返回该相机对象是否为空。
        返回:
        相机对象为空返回 true;否则返回 false。
        默认值:
        默认值为 false。
      • getAltitude

        public double getAltitude()
        返回相机高度,单位为米。
        返回:
        相机高度,单位为米。
        默认值:
        默认值为 0,单位为米。
      • setAltitude

        public void setAltitude(double value)
        设置相机高度,单位为米。
        参数:
        value - 相机高度。单位为米。
      • getHeading

        public double getHeading()
        返回相机的方位角(上方向,即和北方的夹角),方位角的范围是0-360度。

        方位角:指北针的方向。在三维分析和空间分析中,光源照射一个表面的方向称为方位角。

        返回:
        相机的方位角。单位为度。
        默认值:
        默认值为 0,单位为度。
      • setHeading

        public void setHeading(double value)
        设置相机的方位角(上方向,即和北方的夹角),方位角的范围是0-360度。

        方位角:指北针的方向。在三维分析和空间分析中,光源照射一个表面的方向称为方位角。

        参数:
        value - 相机的方位角。单位为度。
      • getLatitude

        public double getLatitude()
        返回相机的纬度,单位为度。
        返回:
        相机的纬度。单位为度。
        默认值:
        默认值为 0,单位为度。
      • setLatitude

        public void setLatitude(double value)
        设置相机的纬度,单位为度。
        参数:
        value - 相机的纬度,单位为度。
      • getLongitude

        public double getLongitude()
        返回相机的经度,单位为度。
        返回:
        相机的经度。单位为度。
        默认值:
        默认值为 0,单位为度。
      • setLongitude

        public void setLongitude(double value)
        设置相机的经度,单位为度。
        参数:
        value - 相机的经度。单位为度。
      • getTilt

        public double getTilt()
        返回相机的仰(俯)角(绕 X 轴的角度)。俯角的范围0度-90度。
        返回:
        相机的仰(俯)角。单位为度。
        默认值:
        默认值为0,单位为度。
      • setTilt

        public void setTilt(double value)
        设置相机的仰(俯)角(绕 X 轴的角度)。俯角的范围0度-90度。
        参数:
        value - 相机的仰(俯)角。单位为度。
      • getAltitudeMode

        public AltitudeMode getAltitudeMode()
        返回高度模式。

        高度模式类型分为距地固定高度模式(CLAMP_TO_GROUND)、距地相对高度模式(RELATIVE_TO_GROUND)和绝对高度模式(ABSOLUTE)。有关详情,请参见 AltitudeMode 枚举类。

        返回:
        高度模式。
        默认值:
        默认值为CLAMP_TO_GROUND
      • setAltitudeMode

        public void setAltitudeMode(AltitudeMode value)
        设置高度模式。

        高度模式类型分为距地固定高度模式(CLAMP_TO_GROUND)、距地相对高度模式(RELATIVE_TO_GROUND)和绝对高度模式(ABSOLUTE)。有关详情,请参见 AltitudeMode 枚举类。

        参数:
        value - 高度模式。
      • toString

        public String toString()
        返回一个字符串,用来描述相机类对象,其格式为:{Altitude=,Heading=,Latitude=,Longitude=,Roll=,Tilt=,AltitudeMode=}。
        覆盖:
        toString 在类中 Object
        返回:
        描述相机类对象的字符串。
      • clone

        public Camera clone()
        返回当前 Camera 对象的一个拷贝。
        覆盖:
        clone 在类中 Object
        返回:
        通过克隆操作得到的 Camera 对象。
      • cameraEquals

        public boolean cameraEquals(Camera camera)

Copyright © 2021–2024 SuperMap. All rights reserved.