de.micromata.opengis.kml.v_2_2_0
Class Camera

java.lang.Object
  extended by de.micromata.opengis.kml.v_2_2_0.AbstractObject
      extended by de.micromata.opengis.kml.v_2_2_0.AbstractView
          extended by de.micromata.opengis.kml.v_2_2_0.Camera
All Implemented Interfaces:
java.lang.Cloneable

public class Camera
extends AbstractView
implements java.lang.Cloneable

can also contain a TimePrimitive ( or ). Time values in Camera affect historical imagery, sunlight, and the display of time-stamped features. For more information, read Time with AbstractViews in the Time and Animation chapter of the Developer's Guide.

provides full six-degrees-of-freedom control over the view, so you can position the Camera in space and then rotate it around the X, Y, and Z axes. Most importantly, you can tilt the camera view so that you're looking above the horizon into the sky.

Defines the virtual camera that views the scene. This element defines the position of the camera relative to the Earth's surface as well as the viewing direction of the camera. The camera position is defined by , , , and either or . The viewing direction of the camera is defined by , , and . can be a child element of any Feature or of . A parent element cannot contain both a and a at the same time.

Defining a View

The X axis points toward the right of the camera and is called the right vector. The Y axis defines the "up" direction relative to the screen and is called the up vector. The Z axis points from the center of the screen toward the eye point. The camera looks down the −Z axis, which is called the view vector.

The following diagram shows the X, Y, and Z axes, which are attached to the virtual camera.

Within a Feature or , use either a or a object (but not both in the same object). The object defines the viewpoint in terms of the viewer's position and orientation. The object allows you to specify a view that is not on the Earth's surface. The object defines the viewpoint in terms of what is being viewed. The object is more limited in scope than and generally requires that the view direction intersect the Earth's surface.

Syntax:
<Camera id="ID">
   <!-- inherited from AbstractView element -->
   <TimePrimitive>...</TimePrimitive>  <!-- gx:TimeSpan or gx:TimeStamp -->
    
   <!-- specific to Camera -->
   <longitude>0</longitude>            <!-- kml:angle180 --> 
   <latitude>0</latitude>              <!-- kml:angle90 -->
   <altitude>0</altitude>              <!-- double -->
   <heading>0</heading>                <!-- kml:angle360 -->
   <tilt>0</tilt>                      <!-- kml:anglepos180 -->
   <roll>0</roll>                      <!-- kml:angle180 -->
   <altitudeMode>clampToGround</altitudeMode>              
         <!-- kml:altitudeModeEnum: relativeToGround, clampToGround, or absolute -->
         <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor -->
 </Camera> 
Extends:


Field Summary
protected  double altitude
          
protected  AltitudeMode altitudeMode
          AltitudeMode
protected  java.util.List<AbstractObject> cameraObjectExtension
          
protected  java.util.List<java.lang.Object> cameraSimpleExtension
           
protected  double heading
          
protected  double latitude
          
protected  double longitude
          
protected  double roll
          
protected  double tilt
          
 
Fields inherited from class de.micromata.opengis.kml.v_2_2_0.AbstractView
abstractViewObjectExtension, abstractViewSimpleExtension
 
Fields inherited from class de.micromata.opengis.kml.v_2_2_0.AbstractObject
id, objectSimpleExtension, targetId
 
Constructor Summary
Camera()
           
 
Method Summary
 Camera addToAbstractViewObjectExtension(AbstractObject abstractViewObjectExtension)
          add a value to the abstractViewObjectExtension property collection
 Camera addToAbstractViewSimpleExtension(java.lang.Object abstractViewSimpleExtension)
          add a value to the abstractViewSimpleExtension property collection
 Camera addToCameraObjectExtension(AbstractObject cameraObjectExtension)
          add a value to the cameraObjectExtension property collection
 Camera addToCameraSimpleExtension(java.lang.Object cameraSimpleExtension)
          add a value to the cameraSimpleExtension property collection
 Camera addToObjectSimpleExtension(java.lang.Object objectSimpleExtension)
          add a value to the objectSimpleExtension property collection
 Camera clone()
           
 boolean equals(java.lang.Object obj)
           
 double getAltitude()
           
 AltitudeMode getAltitudeMode()
           
 java.util.List<AbstractObject> getCameraObjectExtension()
           
 java.util.List<java.lang.Object> getCameraSimpleExtension()
           
 double getHeading()
           
 double getLatitude()
           
 double getLongitude()
           
 double getRoll()
           
 double getTilt()
           
 int hashCode()
           
 void setAbstractViewObjectExtension(java.util.List<AbstractObject> abstractViewObjectExtension)
          Sets the value of the abstractViewObjectExtension property Objects of the following type(s) are allowed in the list List.
 void setAbstractViewSimpleExtension(java.util.List<java.lang.Object> abstractViewSimpleExtension)
          Sets the value of the abstractViewSimpleExtension property Objects of the following type(s) are allowed in the list List.
 void setAltitude(double value)
           
 void setAltitudeMode(AltitudeMode value)
           
 void setCameraObjectExtension(java.util.List<AbstractObject> cameraObjectExtension)
           
 void setCameraSimpleExtension(java.util.List<java.lang.Object> cameraSimpleExtension)
           
 void setHeading(double value)
           
 void setLatitude(double value)
           
 void setLongitude(double value)
           
 void setObjectSimpleExtension(java.util.List<java.lang.Object> objectSimpleExtension)
           
 void setRoll(double value)
           
 void setTilt(double value)
           
 Camera withAbstractViewObjectExtension(java.util.List<AbstractObject> abstractViewObjectExtension)
          fluent setter
 Camera withAbstractViewSimpleExtension(java.util.List<java.lang.Object> abstractViewSimpleExtension)
          fluent setter
 Camera withAltitude(double altitude)
          fluent setter
 Camera withAltitudeMode(AltitudeMode altitudeMode)
          fluent setter
 Camera withCameraObjectExtension(java.util.List<AbstractObject> cameraObjectExtension)
          fluent setter
 Camera withCameraSimpleExtension(java.util.List<java.lang.Object> cameraSimpleExtension)
          fluent setter
 Camera withHeading(double heading)
          fluent setter
 Camera withId(java.lang.String id)
          fluent setter
 Camera withLatitude(double latitude)
          fluent setter
 Camera withLongitude(double longitude)
          fluent setter
 Camera withObjectSimpleExtension(java.util.List<java.lang.Object> objectSimpleExtension)
          fluent setter
 Camera withRoll(double roll)
          fluent setter
 Camera withTargetId(java.lang.String targetId)
          fluent setter
 Camera withTilt(double tilt)
          fluent setter
 
Methods inherited from class de.micromata.opengis.kml.v_2_2_0.AbstractView
getAbstractViewObjectExtension, getAbstractViewSimpleExtension
 
Methods inherited from class de.micromata.opengis.kml.v_2_2_0.AbstractObject
getId, getObjectSimpleExtension, getTargetId, setId, setTargetId
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

longitude

protected double longitude

Longitude of the point the camera is looking at. Angular distance in degrees, relative to the Prime Meridian. Values west of the Meridian range from −180 to 0 degrees. Values east of the Meridian range from 0 to 180 degrees.

Longitude of the virtual camera (eye point). Angular distance in degrees, relative to the Prime Meridian. Values west of the Meridian range from −180 to 0 degrees. Values east of the Meridian range from 0 to 180 degrees.


latitude

protected double latitude

Latitude of the point the camera is looking at. Degrees north or south of the Equator (0 degrees). Values range from −90 degrees to 90 degrees.

Latitude of the virtual camera. Degrees north or south of the Equator (0 degrees). Values range from −90 degrees to 90 degrees.


altitude

protected double altitude

Distance from the earth's surface, in meters. Interpreted according to the LookAt's altitude mode.

Distance of the camera from the earth's surface, in meters. Interpreted according to the Camera's or .

Specifies the distance above the earth's surface, in meters, and is interpreted according to the altitude mode.


heading

protected double heading

Direction (azimuth) of the camera, in degrees. Default=0 (true North). (See diagram.) Values range from 0 to 360 degrees.

Direction (that is, North, South, East, West), in degrees. Default=0 (North). (See diagram below.) Values range from 0 to 360 degrees.

Direction (that is, North, South, East, West), in degrees. Default=0 (North). (See diagram.) Values range from 0 to 360 degrees.

Rotation about the z axis (normal to the Earth's surface). A value of 0 (the default) equals North. A positive rotation is clockwise around the z axis and specified in degrees from 0 to 360.


tilt

protected double tilt

Angle between the direction of the LookAt position and the normal to the surface of the earth. (See diagram below.) Values range from 0 to 90 degrees. Values for cannot be negative. A value of 0 degrees indicates viewing from directly above. A value of 90 degrees indicates viewing along the horizon.

Rotation about the x axis. A positive rotation is clockwise around the x axis and specified in degrees from 0 to 360.

Rotation, in degrees, of the camera around the X axis. A value of 0 indicates that the view is aimed straight down toward the earth (the most common case). A value for 90 for indicates that the view is aimed toward the horizon. Values greater than 90 indicate that the view is pointed up into the sky. Values for are clamped at +180 degrees.


roll

protected double roll

Rotation about the z axis (normal to the Earth's surface). A value of 0 (the default) equals North. A positive rotation is clockwise around the z axis and specified in degrees from 0 to 360. Rotation about the x axis. A positive rotation is clockwise around the x axis and specified in degrees from 0 to 360. Rotation about the y axis. A positive rotation is clockwise around the y axis and specified in degrees from 0 to 360. This diagram illustrates the typical orientation of a model's axes:

Rotation about the y axis. A positive rotation is clockwise around the y axis and specified in degrees from 0 to 360.

Rotation, in degrees, of the camera around the Z axis. Values range from −180 to +180 degrees.

This diagram illustrates the typical orientation of a model's axes:


altitudeMode

protected AltitudeMode altitudeMode
AltitudeMode

clampToGround, relativeToGround, absolute

See Also: See and


cameraSimpleExtension

protected java.util.List<java.lang.Object> cameraSimpleExtension

cameraObjectExtension

protected java.util.List<AbstractObject> cameraObjectExtension

This is an abstract base class and cannot be used directly in a KML file. It provides the id attribute, which allows unique identification of a KML element, and the targetId attribute, which is used to reference objects that have already been loaded into Google Earth. The id attribute must be assigned if the mechanism is to be used.

Syntax:
<!-- abstract element; do not create -->
 <!-- Object id="ID" targetId="NCName" -->
 <!-- /Object> -->

Constructor Detail

Camera

public Camera()
Method Detail

getLongitude

public double getLongitude()
Returns:
possible object is Double
See Also:
longitude

setLongitude

public void setLongitude(double value)
Parameters:
value - allowed object is Double
See Also:
longitude

getLatitude

public double getLatitude()
Returns:
possible object is Double
See Also:
latitude

setLatitude

public void setLatitude(double value)
Parameters:
value - allowed object is Double
See Also:
latitude

getAltitude

public double getAltitude()
Returns:
possible object is Double
See Also:
altitude

setAltitude

public void setAltitude(double value)
Parameters:
value - allowed object is Double
See Also:
altitude

getHeading

public double getHeading()
Returns:
possible object is Double
See Also:
heading

setHeading

public void setHeading(double value)
Parameters:
value - allowed object is Double
See Also:
heading

getTilt

public double getTilt()
Returns:
possible object is Double
See Also:
tilt

setTilt

public void setTilt(double value)
Parameters:
value - allowed object is Double
See Also:
tilt

getRoll

public double getRoll()
Returns:
possible object is Double
See Also:
roll

setRoll

public void setRoll(double value)
Parameters:
value - allowed object is Double
See Also:
roll

getAltitudeMode

public AltitudeMode getAltitudeMode()
Returns:
possible object is <Object <AltitudeMode <de.micromata.opengis.kml.v_2_2_0.gx.AltitudeMode
See Also:
altitudeMode

setAltitudeMode

public void setAltitudeMode(AltitudeMode value)
Parameters:
value - allowed object is <Object <AltitudeMode <de.micromata.opengis.kml.v_2_2_0.gx.AltitudeMode
See Also:
altitudeMode

getCameraSimpleExtension

public java.util.List<java.lang.Object> getCameraSimpleExtension()
See Also:
cameraSimpleExtension

getCameraObjectExtension

public java.util.List<AbstractObject> getCameraObjectExtension()
See Also:
cameraObjectExtension

hashCode

public int hashCode()
Overrides:
hashCode in class AbstractView

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class AbstractView

setCameraSimpleExtension

public void setCameraSimpleExtension(java.util.List<java.lang.Object> cameraSimpleExtension)
Parameters:
cameraSimpleExtension -
See Also:
cameraSimpleExtension

addToCameraSimpleExtension

public Camera addToCameraSimpleExtension(java.lang.Object cameraSimpleExtension)
add a value to the cameraSimpleExtension property collection

Parameters:
cameraSimpleExtension - Objects of the following type are allowed in the list: Object
Returns:
true (as general contract of Collection.add).

setCameraObjectExtension

public void setCameraObjectExtension(java.util.List<AbstractObject> cameraObjectExtension)
Parameters:
cameraObjectExtension -
See Also:
cameraObjectExtension

addToCameraObjectExtension

public Camera addToCameraObjectExtension(AbstractObject cameraObjectExtension)
add a value to the cameraObjectExtension property collection

Parameters:
cameraObjectExtension - Objects of the following type are allowed in the list: AbstractObject
Returns:
true (as general contract of Collection.add).

setObjectSimpleExtension

public void setObjectSimpleExtension(java.util.List<java.lang.Object> objectSimpleExtension)
Overrides:
setObjectSimpleExtension in class AbstractView
See Also:
objectSimpleExtension

addToObjectSimpleExtension

public Camera addToObjectSimpleExtension(java.lang.Object objectSimpleExtension)
Description copied from class: AbstractObject
add a value to the objectSimpleExtension property collection

Overrides:
addToObjectSimpleExtension in class AbstractView
Parameters:
objectSimpleExtension - Objects of the following type are allowed in the list: Object
Returns:
true (as general contract of Collection.add).

setAbstractViewSimpleExtension

public void setAbstractViewSimpleExtension(java.util.List<java.lang.Object> abstractViewSimpleExtension)
Description copied from class: AbstractView
Sets the value of the abstractViewSimpleExtension property Objects of the following type(s) are allowed in the list List.

Note:

This method does not make use of the fluent pattern.If you would like to make it fluent, use AbstractView.withAbstractViewSimpleExtension(java.util.List) instead.

Overrides:
setAbstractViewSimpleExtension in class AbstractView
See Also:
abstractViewSimpleExtension

addToAbstractViewSimpleExtension

public Camera addToAbstractViewSimpleExtension(java.lang.Object abstractViewSimpleExtension)
Description copied from class: AbstractView
add a value to the abstractViewSimpleExtension property collection

Overrides:
addToAbstractViewSimpleExtension in class AbstractView
Parameters:
abstractViewSimpleExtension - Objects of the following type are allowed in the list: Object
Returns:
true (as general contract of Collection.add).

setAbstractViewObjectExtension

public void setAbstractViewObjectExtension(java.util.List<AbstractObject> abstractViewObjectExtension)
Description copied from class: AbstractView
Sets the value of the abstractViewObjectExtension property Objects of the following type(s) are allowed in the list List.

Note:

This method does not make use of the fluent pattern.If you would like to make it fluent, use AbstractView.withAbstractViewObjectExtension(java.util.List) instead.

Overrides:
setAbstractViewObjectExtension in class AbstractView
See Also:
abstractViewObjectExtension

addToAbstractViewObjectExtension

public Camera addToAbstractViewObjectExtension(AbstractObject abstractViewObjectExtension)
Description copied from class: AbstractView
add a value to the abstractViewObjectExtension property collection

Overrides:
addToAbstractViewObjectExtension in class AbstractView
Parameters:
abstractViewObjectExtension - Objects of the following type are allowed in the list: <AbstractObjectJAXBElement<TimeSpanJAXBElement<TimeStamp
Returns:
true (as general contract of Collection.add).

withLongitude

public Camera withLongitude(double longitude)
fluent setter

Parameters:
longitude - required parameter
See Also:
setLongitude(double)

withLatitude

public Camera withLatitude(double latitude)
fluent setter

Parameters:
latitude - required parameter
See Also:
setLatitude(double)

withAltitude

public Camera withAltitude(double altitude)
fluent setter

Parameters:
altitude - required parameter
See Also:
setAltitude(double)

withHeading

public Camera withHeading(double heading)
fluent setter

Parameters:
heading - required parameter
See Also:
setHeading(double)

withTilt

public Camera withTilt(double tilt)
fluent setter

Parameters:
tilt - required parameter
See Also:
setTilt(double)

withRoll

public Camera withRoll(double roll)
fluent setter

Parameters:
roll - required parameter
See Also:
setRoll(double)

withAltitudeMode

public Camera withAltitudeMode(AltitudeMode altitudeMode)
fluent setter

Parameters:
altitudeMode - required parameter
See Also:
#setAltitudeMode(Object)

withCameraSimpleExtension

public Camera withCameraSimpleExtension(java.util.List<java.lang.Object> cameraSimpleExtension)
fluent setter

Parameters:
cameraSimpleExtension - required parameter
See Also:
#setCameraSimpleExtension(List)

withCameraObjectExtension

public Camera withCameraObjectExtension(java.util.List<AbstractObject> cameraObjectExtension)
fluent setter

Parameters:
cameraObjectExtension - required parameter
See Also:
#setCameraObjectExtension(List)

withObjectSimpleExtension

public Camera withObjectSimpleExtension(java.util.List<java.lang.Object> objectSimpleExtension)
Description copied from class: AbstractObject
fluent setter

Overrides:
withObjectSimpleExtension in class AbstractView
Parameters:
objectSimpleExtension - required parameter
See Also:
#setObjectSimpleExtension(List)

withId

public Camera withId(java.lang.String id)
Description copied from class: AbstractObject
fluent setter

Overrides:
withId in class AbstractView
Parameters:
id - required parameter
See Also:
AbstractObject.setId(String)

withTargetId

public Camera withTargetId(java.lang.String targetId)
Description copied from class: AbstractObject
fluent setter

Overrides:
withTargetId in class AbstractView
Parameters:
targetId - required parameter
See Also:
AbstractObject.setTargetId(String)

withAbstractViewSimpleExtension

public Camera withAbstractViewSimpleExtension(java.util.List<java.lang.Object> abstractViewSimpleExtension)
Description copied from class: AbstractView
fluent setter

Overrides:
withAbstractViewSimpleExtension in class AbstractView
Parameters:
abstractViewSimpleExtension - required parameter
See Also:
#setAbstractViewSimpleExtension(List)

withAbstractViewObjectExtension

public Camera withAbstractViewObjectExtension(java.util.List<AbstractObject> abstractViewObjectExtension)
Description copied from class: AbstractView
fluent setter

Overrides:
withAbstractViewObjectExtension in class AbstractView
Parameters:
abstractViewObjectExtension - required parameter
See Also:
#setAbstractViewObjectExtension(List)

clone

public Camera clone()
Overrides:
clone in class AbstractView