public abstract class KMLViewController
extends java.lang.Object
LookAt
or Camera
view, or to animate to a default view a KML feature that does not define a view.
Subclasses of this base class implement animator logic for particular types of View
, for example OrbitView
.
An application that provides a custom View implementation can extend this base class to provide a KML controller for
the custom view.Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_VIEW_ALTITUDE
Default altitude from which to view a KML feature.
|
protected double |
viewAltitude
Default altitude from which to view a KML feature.
|
protected WorldWindow |
wwd
WorldWindow that holds the view to animate.
|
Modifier | Constructor and Description |
---|---|
protected |
KMLViewController(WorldWindow wwd)
Create the view controller.
|
Modifier and Type | Method and Description |
---|---|
static KMLViewController |
create(WorldWindow wwd)
Convenience method to create a new view controller appropriate for the
WorldWindow 's current
View . |
protected double |
findMaxAltitude(java.util.List<? extends Position> positions)
Get the maximum altitude in a list of positions.
|
double |
getViewAltitude()
Get the default altitude for viewing a KML placemark when the globe flies to a placemark.
|
void |
goTo(KMLAbstractFeature feature)
Animate the view to look at a KML feature.
|
void |
goTo(KMLAbstractView view)
Animates the
View attached to this controller's WorldWindow to look at the specified KML
view . |
protected abstract void |
goTo(KMLCamera camera)
Animate the view to the position described by a KML
Camera . |
protected abstract void |
goTo(KMLLookAt lookAt)
Animate the view to the position described by a KML
LookAt . |
protected void |
goToDefaultGroundOverlayView(KMLGroundOverlay overlay)
Go to a default view of GroundOverlay.
|
protected void |
goToDefaultPlacemarkView(KMLPlacemark placemark)
Go to a default view of a Placemark.
|
void |
goToDefaultView(KMLAbstractFeature feature)
Move the view to look at a KML feature.
|
protected void |
goToDefaultView(java.util.List<? extends Position> positions)
Go to a view of a list of positions.
|
void |
setViewAltitude(double viewAltitude)
Set the default altitude for viewing a KML placemark when the globe flies to a placemark.
|
public static final double DEFAULT_VIEW_ALTITUDE
protected double viewAltitude
protected WorldWindow wwd
protected KMLViewController(WorldWindow wwd)
wwd
- WorldWindow that holds the view to animate.public static KMLViewController create(WorldWindow wwd)
WorldWindow
's current
View
. Accepted view types are as follows: . If the View
is not one of
the recognized types, this returns null
and logs a warning.wwd
- the WorldWindow
to create a view controller for.null
if the WorldWindow
's View
type is
not one of the recognized types.protected double findMaxAltitude(java.util.List<? extends Position> positions)
positions
- List of positions to search for max altitude.Double.MIN_VALUE
if positions
is
empty.public double getViewAltitude()
public void goTo(KMLAbstractFeature feature)
LookAt
or Camera
, the view
will animate to the view specified in KML. Otherwise the view will animate to a default position looking straight
down at the feature from an altitude that brings the entire feature into view.feature
- Feature to look at.public void goTo(KMLAbstractView view)
View
attached to this controller's WorldWindow to look at the specified KML
view
. The view
may be one of the following types: If the
view
is not null
and is not one of the recognized types, this logs a warning but
otherwise does nothing.view
- the KML view to animate to.java.lang.IllegalArgumentException
- if view
is null
.protected abstract void goTo(KMLCamera camera)
Camera
.camera
- KML Camera that describes the desired view.protected abstract void goTo(KMLLookAt lookAt)
LookAt
.lookAt
- KML LookAt that describes the desired view.protected void goToDefaultGroundOverlayView(KMLGroundOverlay overlay)
overlay
- Overlay to look atprotected void goToDefaultPlacemarkView(KMLPlacemark placemark)
placemark
- Placemark to look atpublic void goToDefaultView(KMLAbstractFeature feature)
feature
- Feature to look at.protected void goToDefaultView(java.util.List<? extends Position> positions)
positions
- List of positions to bring into viewpublic void setViewAltitude(double viewAltitude)
viewAltitude
- Default altitude from which to view a placemark.