com.supermap.realspace
类 Camera
- java.lang.Object
-
- 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 的新对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法和说明 boolean
cameraEquals(Camera camera)
Camera
clone()
返回当前 Camera 对象的一个拷贝。double
getAltitude()
返回相机高度,单位为米。AltitudeMode
getAltitudeMode()
返回高度模式。static Camera
getEMPTY()
返回空的相机对象。double
getHeading()
返回相机的方位角(上方向,即和北方的夹角),方位角的范围是0-360度。double
getLatitude()
返回相机的纬度,单位为度。double
getLongitude()
返回相机的经度,单位为度。double
getTilt()
返回相机的仰(俯)角(绕 X 轴的角度)。boolean
isEmpty()
返回该相机对象是否为空。void
setAltitude(double value)
设置相机高度,单位为米。void
setAltitudeMode(AltitudeMode value)
设置高度模式。void
setHeading(double value)
设置相机的方位角(上方向,即和北方的夹角),方位角的范围是0-360度。void
setLatitude(double value)
设置相机的纬度,单位为度。void
setLongitude(double value)
设置相机的经度,单位为度。void
setTilt(double value)
设置相机的仰(俯)角(绕 X 轴的角度)。String
toString()
返回一个字符串,用来描述相机类对象,其格式为:{Altitude=,Heading=,Latitude=,Longitude=,Roll=,Tilt=,AltitudeMode=}。
-
-
-
构造器详细资料
-
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=}。
-
cameraEquals
public boolean cameraEquals(Camera camera)
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.