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=}。
|
public Camera()
public Camera(Camera camera)
camera
- 给定的 Camera 对象。public Camera(double longitude, double latitude, double altitude)
longitude
- 相机的经度,单位为度。latitude
- 相机的纬度,单位为度。altitude
- 相机高度,单位为米。public Camera(double longitude, double latitude, double altitude, AltitudeMode altitudeMode, double heading, double tilt)
longitude
- 相机的经度,单位为度。latitude
- 相机的纬度,单位为度。altitude
- 相机高度,单位为米。altitudeMode
- 高度模式。heading
- 相机的方位角,单位为度。tilt
- 倾斜角,单位为度。public static Camera getEMPTY()
public boolean isEmpty()
public double getAltitude()
public void setAltitude(double value)
value
- 相机高度。单位为米。public double getHeading()
方位角:指北针的方向。在三维分析和空间分析中,光源照射一个表面的方向称为方位角。
public void setHeading(double value)
方位角:指北针的方向。在三维分析和空间分析中,光源照射一个表面的方向称为方位角。
value
- 相机的方位角。单位为度。public double getLatitude()
public void setLatitude(double value)
value
- 相机的纬度,单位为度。public double getLongitude()
public void setLongitude(double value)
value
- 相机的经度。单位为度。public double getTilt()
public void setTilt(double value)
value
- 相机的仰(俯)角。单位为度。public AltitudeMode getAltitudeMode()
高度模式类型分为距地固定高度模式(CLAMP_TO_GROUND)、距地相对高度模式(RELATIVE_TO_GROUND)和绝对高度模式(ABSOLUTE)。有关详情,请参见 AltitudeMode
枚举类。
public void setAltitudeMode(AltitudeMode value)
高度模式类型分为距地固定高度模式(CLAMP_TO_GROUND)、距地相对高度模式(RELATIVE_TO_GROUND)和绝对高度模式(ABSOLUTE)。有关详情,请参见 AltitudeMode
枚举类。
value
- 高度模式。public String toString()
public boolean cameraEquals(Camera camera)
Copyright © 2021–2024 SuperMap. All rights reserved.