|
NASA World Wind | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.worldwind.avlist.AVListImpl
gov.nasa.worldwind.WWObjectImpl
gov.nasa.worldwind.layers.AbstractLayer
gov.nasa.worldwind.layers.TerrainProfileLayer
public class TerrainProfileLayer
Displays a terrain profile graph in a screen corner.
Usage: do setEventSource(wwd) to have the graph activated and updated with position changes. See public properties for options: keepProportions, follow, unit, start and end latlon...
Field Summary | |
---|---|
static String |
FOLLOW_CURSOR
|
static String |
FOLLOW_EYE
|
static String |
FOLLOW_NONE
|
static String |
FOLLOW_OBJECT
|
static String |
FOLLOW_PATH
|
static String |
FOLLOW_VIEW
|
static double |
METER_TO_FEET
|
static String |
UNIT_IMPERIAL
|
static String |
UNIT_METRIC
|
Fields inherited from class gov.nasa.worldwind.layers.AbstractLayer |
---|
screenCredit |
Fields inherited from class gov.nasa.worldwind.avlist.AVListImpl |
---|
changeSupport |
Constructor Summary | |
---|---|
TerrainProfileLayer()
Renders a terrain profile graphic in a screen corner. |
Method Summary | |
---|---|
void |
doPick(DrawContext dc,
Point pickPoint)
|
void |
doRender(DrawContext dc)
|
void |
drawProfile(DrawContext dc)
|
int |
getBorderWidth()
|
Color |
getColor()
Get the graphic color. |
LatLon |
getEndLatLon()
Get the profile end position lat/lon when FOLLOW_NONE . |
String |
getFollow()
Get the graph center point placement behavior. |
boolean |
getFollowCursor()
Get whether the graph center point follows the mouse cursor. |
Font |
getFont()
Get the graphic legend Font. |
boolean |
getIsMaximized()
Get whether the profile graph is maximized - displays over the whole viewport. |
boolean |
getIsMinimized()
Get whether the profile graph is minimized. |
boolean |
getKeepProportions()
Get whether distance/elevation proportions are maintained. |
Point |
getLocationCenter()
Get the screen location of the graph center if set (can be null). |
Vec4 |
getLocationOffset()
Returns the current location offset. |
Angle |
getObjectHeading()
Get the object heading the graph follows when it is set to FOLLOW_OBJECT . |
Position |
getObjectPosition()
Get the object position the graph follows when it is set to FOLLOW_OBJECT . |
double |
getOpacity()
Returns the layer's opacity value. |
ArrayList<? extends LatLon> |
getPathPositions()
Get the path positions that the profile follows if set to FOLLOW_PATH . |
int |
getPathType()
|
Polyline |
getPickedLine()
Get the Polyline used to render the picked position on the terrain. |
String |
getPosition()
|
double |
getProfileLenghtFactor()
Get the profile length factor. |
Polyline |
getProfileLine()
Get the Polyline used to render the profile line on the ground. |
String |
getResizeBehavior()
Returns the layer's resize behavior. |
int |
getSamples()
Get the number of elevation samples in the profile. |
boolean |
getShowEyePosition()
Get whether the eye or object position is shown on the graph when FOLLOW_EYE or FOLLOW_OBJECT . |
Dimension |
getSize()
Get the graphic Dimension (in pixels). |
LatLon |
getStartLatLon()
Get the profile start position lat/lon when FOLLOW_NONE . |
double |
getToViewportScale()
Returns the graphic-to-viewport scale factor. |
String |
getUnit()
|
boolean |
getUpdate()
Get whether the profile should be recomputed. |
boolean |
getZeroBased()
Get whether the profile graph should include sea level. |
boolean |
isShowPickedLine()
Get whether the picked line is displayed over the ground. |
boolean |
isShowProfileLine()
Get whether the profile line is displayed over the ground. |
void |
moved(PositionEvent event)
|
void |
propertyChange(PropertyChangeEvent propertyChangeEvent)
The property change listener for this instance. |
void |
selected(SelectEvent event)
|
void |
setBorderWidth(int borderWidth)
Sets the graphic offset from the viewport border. |
void |
setColor(Color color)
Set the graphic Color. |
void |
setEndLatLon(LatLon latLon)
Set the profile end position lat/lon when FOLLOW_NONE . |
void |
setEventSource(WorldWindow wwd)
|
void |
setFollow(String behavior)
Set the graph center point placement behavior. |
void |
setFollowCursor(boolean state)
Set whether the graph center point should follows the mouse cursor. |
void |
setFont(Font font)
Set the graphic legend Font. |
void |
setIsMaximized(boolean state)
Set wheter the profile graph should be maximized - displays over the whole viewport. |
void |
setIsMinimized(boolean state)
Set wheter the profile graph should be minimized. |
void |
setKeepProportions(boolean state)
Set whether distance/elevation proportions are maintained. |
void |
setLocationCenter(Point point)
Set the screen location of the graph center - overrides setPosition(java.lang.String) if not null. |
void |
setLocationOffset(Vec4 locationOffset)
Specifies a placement offset from the layer position on the screen. |
void |
setObjectHeading(Angle heading)
Set the object heading the graph follows when it is set to FOLLOW_OBJECT . |
void |
setObjectPosition(Position pos)
Set the object position the graph follows when it is set to FOLLOW_OBJECT . |
void |
setOpacity(double opacity)
Sets the layer opacity, which is applied to the layer's chart. |
void |
setPathPositions(ArrayList<? extends LatLon> positions)
Set the path positions that the profile should follow if FOLLOW_PATH . |
void |
setPathType(int type)
Sets the type of path to follow, one of Polyline.GREAT_CIRCLE , which computes each segment of the path
as a great circle, or Polyline.RHUMB_LINE , which computes each segment of the path as a line of
constant heading. |
void |
setPosition(String position)
Sets the relative viewport location to display the graphic. |
void |
setProfileLengthFactor(double factor)
Set the profile length factor - has no effect if FOLLOW_NONE or FOLLOW_PATH |
void |
setResizeBehavior(String resizeBehavior)
Sets the behavior the layer uses to size the graphic when the viewport size changes, typically when the World Wind window is resized. |
void |
setSamples(int number)
Set the number of elevation samples in the profile. |
void |
setShowEyePosition(Boolean state)
Set whether the eye or object position should be shown on the graph when FOLLOW_EYE or
FOLLOW_OBJECT . |
void |
setShowPickedLine(boolean state)
Set whether the picked line should be displayed over the ground. |
void |
setShowProfileLine(boolean state)
Set whether the profile line should be displayed over the terrain. |
void |
setSize(Dimension size)
Set the graphic Dimension (in pixels). |
void |
setStartLatLon(LatLon latLon)
Set the profile start position lat/lon when FOLLOW_NONE . |
void |
setToViewportScale(double toViewportScale)
Sets the scale factor applied to the viewport size to determine the displayed size of the graphic. |
void |
setUnit(String unit)
Sets the unit the graphic uses to display distances and elevations. |
void |
setUpdate(boolean state)
Set wheter the profile should be recomputed. |
void |
setZeroBased(boolean state)
Set whether the profile graph should include sea level. |
String |
toString()
|
Methods inherited from class gov.nasa.worldwind.layers.AbstractLayer |
---|
dispose, doPreRender, getExpiryTime, getMaxActiveAltitude, getMinActiveAltitude, getName, getRestorableState, getScale, getScreenCredit, isAtMaxResolution, isEnabled, isLayerActive, isLayerInView, isMultiResolution, isNetworkRetrievalEnabled, isPickEnabled, pick, preRender, render, restoreState, setEnabled, setExpiryTime, setMaxActiveAltitude, setMinActiveAltitude, setName, setNetworkRetrievalEnabled, setPickEnabled, setScreenCredit |
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl |
---|
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface gov.nasa.worldwind.avlist.AVList |
---|
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues |
Field Detail |
---|
public static final String FOLLOW_CURSOR
public static final String FOLLOW_EYE
public static final String FOLLOW_NONE
public static final String FOLLOW_OBJECT
public static final String FOLLOW_PATH
public static final String FOLLOW_VIEW
public static final double METER_TO_FEET
public static final String UNIT_IMPERIAL
public static final String UNIT_METRIC
Constructor Detail |
---|
public TerrainProfileLayer()
Method Detail |
---|
public void doPick(DrawContext dc, Point pickPoint)
doPick
in class AbstractLayer
public void doRender(DrawContext dc)
doRender
in class AbstractLayer
public void drawProfile(DrawContext dc)
public int getBorderWidth()
public Color getColor()
public LatLon getEndLatLon()
FOLLOW_NONE
.
public String getFollow()
public boolean getFollowCursor()
public Font getFont()
public boolean getIsMaximized()
public boolean getIsMinimized()
public boolean getKeepProportions()
public Point getLocationCenter()
public Vec4 getLocationOffset()
setLocationOffset(gov.nasa.worldwind.geom.Vec4)
for a description of the offset and
its values.
public Angle getObjectHeading()
FOLLOW_OBJECT
. The profile graph will
be computed perpendicular to the object heading direction.
public Position getObjectPosition()
FOLLOW_OBJECT
.
public double getOpacity()
getOpacity
in interface Layer
getOpacity
in class AbstractLayer
getColor()
public ArrayList<? extends LatLon> getPathPositions()
FOLLOW_PATH
.
public int getPathType()
public Polyline getPickedLine()
Polyline
used to render the picked position on the terrain.
Polyline
used to render the picked position on the terrain.public String getPosition()
public double getProfileLenghtFactor()
public Polyline getProfileLine()
Polyline
used to render the profile line on the ground.
Polyline
used to render the profile line on the ground.public String getResizeBehavior()
public int getSamples()
public boolean getShowEyePosition()
FOLLOW_EYE
or FOLLOW_OBJECT
.
public Dimension getSize()
public LatLon getStartLatLon()
FOLLOW_NONE
.
public double getToViewportScale()
public String getUnit()
public boolean getUpdate()
public boolean getZeroBased()
public boolean isShowPickedLine()
public boolean isShowProfileLine()
public void moved(PositionEvent event)
moved
in interface PositionListener
public void propertyChange(PropertyChangeEvent propertyChangeEvent)
WWObjectImpl
propertyChange
in interface PropertyChangeListener
propertyChange
in class WWObjectImpl
propertyChangeEvent
- the eventpublic void selected(SelectEvent event)
selected
in interface SelectListener
public void setBorderWidth(int borderWidth)
borderWidth
- the number of pixels to offset the graphic from the borders indicated by setPosition(String)
.public void setColor(Color color)
color
- the graphic Color.public void setEndLatLon(LatLon latLon)
FOLLOW_NONE
.
latLon
- the profile end position lat/lon.public void setEventSource(WorldWindow wwd)
public void setFollow(String behavior)
FOLLOW_VIEW
(the default), FOLLOW_CURSOR
, FOLLOW_EYE
, FOLLOW_OBJECT
, FOLLOW_NONE
or FOLLOW_PATH
.
If FOLLOW_NONE
the profile will be computed between startLatLon and endLatLon. If FOLLOW_PATH
the profile will be computed along the path defined with setPathPositions(ArrayList extends LatLon>)
.
behavior
- the graph center point placement behavior.public void setFollowCursor(boolean state)
state
- true if the graph center point should follows the mouse cursor.public void setFont(Font font)
font
- the graphic legend Font.public void setIsMaximized(boolean state)
state
- true if the profile should be maximized.public void setIsMinimized(boolean state)
Note that the graph can be both minimized and maximized at the same time. The minimized state will take precedence and the graph will display as an icon. When 'un-minimized' it will display as maximized.
state
- true if the profile should be minimized.this.setIsMaximized()
public void setKeepProportions(boolean state)
state
- true if the graph should maintains distance/elevation proportions.public void setLocationCenter(Point point)
setPosition(java.lang.String)
if not null.
point
- the screen location of the graph center (can be null).public void setLocationOffset(Vec4 locationOffset)
locationOffset
- the number of pixels to shift the layer image from its specified screen position. A
positive X value shifts the image to the right. A positive Y value shifts the image up. If null, no offset
is applied. The default offset is null.#setLocationCenter, #setPosition
public void setObjectHeading(Angle heading)
FOLLOW_OBJECT
. The profile graph will
be computed perpendicular to the object heading direction.
heading
- the object heading the graph follows.public void setObjectPosition(Position pos)
FOLLOW_OBJECT
.
pos
- the object position the graph follows.public void setOpacity(double opacity)
setOpacity
in interface Layer
setOpacity
in class AbstractLayer
opacity
- the current opacity value, which is ignored by this layer.setColor(java.awt.Color)
public void setPathPositions(ArrayList<? extends LatLon> positions)
FOLLOW_PATH
.
positions
- the path positions that the profile should follow.public void setPathType(int type)
Polyline.GREAT_CIRCLE
, which computes each segment of the path
as a great circle, or Polyline.RHUMB_LINE
, which computes each segment of the path as a line of
constant heading.
type
- the type of path to follow.public void setPosition(String position)
AVKey.NORTHEAST
,
AVKey.NORTHWEST
, AVKey.SOUTHEAST
, or AVKey.SOUTHWEST
(the default). These indicate
the corner of the viewport.
position
- the desired graphic position.public void setProfileLengthFactor(double factor)
FOLLOW_NONE
or FOLLOW_PATH
factor
- the new profile length factor.public void setResizeBehavior(String resizeBehavior)
AVKey.RESIZE_KEEP_FIXED_SIZE
, the graphic size is kept to the
size specified in its Dimension scaled by the layer's current icon scale. If the value is
AVKey.RESIZE_STRETCH
, the graphic is resized to have a constant size relative to the current viewport
size. If the viewport shrinks the graphic size decreases; if it expands then the graphic enlarges. If the value
is AVKey.RESIZE_SHRINK_ONLY
(the default), graphic sizing behaves as for AVKey.RESIZE_STRETCH
but it will not grow larger than the size specified in its Dimension.
resizeBehavior
- the desired resize behaviorpublic void setSamples(int number)
number
- the number of elevation samples in the profile.public void setShowEyePosition(Boolean state)
FOLLOW_EYE
or
FOLLOW_OBJECT
.
state
- if true the eye or object position should be shown on the graph.public void setShowPickedLine(boolean state)
state
- if the picked line should be displayed over the ground.public void setShowProfileLine(boolean state)
state
- true if the profile line should be displayed over the terrain.public void setSize(Dimension size)
size
- the graphic Dimension.public void setStartLatLon(LatLon latLon)
FOLLOW_NONE
.
latLon
- the profile start position lat/lon.public void setToViewportScale(double toViewportScale)
AVKey.RESIZE_STRETCH
or
AVKey.RESIZE_SHRINK_ONLY
. The graphic's width is adjusted to occupy the proportion of the viewport's
width indicated by this factor. The graphic's height is adjusted to maintain the graphic's Dimension aspect
ratio.
toViewportScale
- the graphic to viewport scale factor.public void setUnit(String unit)
UNIT_METRIC
(the
default), or UNIT_IMPERIAL
.
unit
- the desired unit.public void setUpdate(boolean state)
state
- true if the profile should be recomputed.public void setZeroBased(boolean state)
state
- true if the profile graph should include sea level.public String toString()
toString
in class AbstractLayer
|
NASA World Wind | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |