|
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.render.PointPlacemark
public class PointPlacemark
Represents a point placemark consisting of an image, an optional line linking the image to a corresponding point on the terrain, and an optional label. The image and the label are displayed in the plane of the screen.
Point placemarks have separate attributes for normal rendering and highlighted rendering. If highlighting is requested but no highlight attributes are specified, the normal attributes are used. If the normal attributes are not specified, default attributes are used. SeegetDefaultAttributes().
This class implements and extends the functionality of a KML Point.
Point placemarks can participate in global text decluttering by setting their decluttering-enabled flag to true. See setEnableDecluttering(boolean). The default for this flag is false. When participating in
decluttering, only the point placemark's label is considered when determining interference with other text.
| Field Summary | |
|---|---|
protected PointPlacemarkAttributes |
activeAttributes
|
protected WWTexture |
activeTexture
|
protected int |
altitudeMode
|
protected boolean |
applyVerticalExaggeration
|
protected Font |
boundsFont
|
protected boolean |
clipToHorizon
|
protected static Double |
DEFAULT_HIGHLIGHT_SCALE
The scale to use when highlighting if no highlight attributes are specified. |
protected static Offset |
DEFAULT_LABEL_OFFSET_IF_UNSPECIFIED
The label offset to use if none is specified but an image has been specified. |
protected static Double |
DEFAULT_POINT_SIZE
The point size to use when none is specified. |
protected static PointPlacemarkAttributes |
defaultAttributes
The attributes used if attributes are not specified. |
protected Object |
delegateOwner
|
protected double |
dx
|
protected double |
dy
|
protected boolean |
enableBatchPicking
|
protected boolean |
enableBatchRendering
|
protected boolean |
enableDecluttering
|
protected double |
eyeDistance
|
protected long |
frameNumber
|
protected PointPlacemarkAttributes |
highlightAttrs
|
protected boolean |
highlighted
|
protected Rectangle2D |
labelBounds
|
protected String |
labelText
|
protected boolean |
lineEnabled
|
protected int |
linePickWidth
|
protected PointPlacemarkAttributes |
normalAttrs
|
protected Layer |
pickLayer
|
protected PickSupport |
pickSupport
|
protected Vec4 |
placePoint
|
protected Position |
position
|
protected Vec4 |
screenPoint
|
protected Vec4 |
terrainPoint
|
protected Map<String,WWTexture> |
textures
|
protected boolean |
visible
|
| Fields inherited from interface gov.nasa.worldwind.Exportable |
|---|
FORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED |
| Constructor Summary | |
|---|---|
PointPlacemark(Position position)
Construct a point placemark. |
|
| Method Summary | |
|---|---|
protected void |
beginDrawing(DrawContext dc)
Establish the OpenGL state needed to draw Paths. |
protected WWTexture |
chooseTexture(PointPlacemarkAttributes attrs)
Determines the appropriate texture for the current availability. |
protected void |
computeImageOffset(DrawContext dc)
|
protected Rectangle |
computeImageRectangle(DrawContext dc)
Computes the screen-space rectangle bounding the placemark image. |
protected void |
computePlacemarkPoints(DrawContext dc)
Computes and stores the placemark's Cartesian location, the Cartesian location of the corresponding point on the terrain (if the altitude mode requires it), and the screen-space projection of the placemark's point. |
protected PickedObject |
createPickedObject(DrawContext dc,
Color pickColor)
Create a PickedObject for this placemark. |
protected void |
determineActiveAttributes()
Determines which attributes -- normal, highlight or default -- to use each frame. |
protected void |
doDrawOrderedRenderable(DrawContext dc,
PickSupport pickCandidates)
Draw this placemark as an ordered renderable. |
protected void |
drawBatched(DrawContext dc)
Draws this ordered renderable and all subsequent PointPlacemark ordered renderables in the ordered renderable list. |
protected void |
drawLabel(DrawContext dc)
Draws the placemark's label if a label is specified. |
protected void |
drawLine(DrawContext dc,
PickSupport pickCandidates)
Draws the placemark's line. |
protected void |
drawOrderedRenderable(DrawContext dc)
Draws the path as an ordered renderable. |
protected void |
drawPoint(DrawContext dc,
PickSupport pickCandidates)
Draws the placemark's line. |
protected void |
endDrawing(DrawContext dc)
Pop the state set in beginDrawing. |
void |
export(String mimeType,
Object output)
Export the Placemark. |
protected void |
exportAsKML(Object output)
Export the placemark to KML as a <Placemark> element. |
protected PointPlacemarkAttributes |
getActiveAttributes()
|
int |
getAltitudeMode()
Returns the placemark's altitude mode. |
PointPlacemarkAttributes |
getAttributes()
Returns the attributes used when the placemark is drawn normally, not highlighted. |
Rectangle2D |
getBounds(DrawContext dc)
|
PointPlacemarkAttributes |
getDefaultAttributes()
Returns the attributes used if normal attributes are not specified. |
Object |
getDelegateOwner()
Returns the delegate owner of this placemark. |
double |
getDistanceFromEye()
Returns the ordered renderable's distance from the current view's eye point. |
PointPlacemarkAttributes |
getHighlightAttributes()
Returns the attributes used to draw the placemark when it's highlighted. |
protected Rectangle2D |
getLabelBounds(DrawContext dc)
Determines the screen coordinate boundaries of this placemark's label. |
String |
getLabelText()
Returns the placemark's label text. |
int |
getLinePickWidth()
|
Position |
getPosition()
Returns the placemark's position. |
Position |
getReferencePosition()
A position associated with the object that indicates its aggregate geographic position. |
protected WWTexture |
initializeTexture(String address)
Load a texture. |
protected boolean |
intersectsFrustum(DrawContext dc)
Determines whether the placemark image intersects the view frustum. |
boolean |
isApplyVerticalExaggeration()
|
boolean |
isClipToHorizon()
Indicates whether this placemark is shown if it is beyond the horizon. |
protected boolean |
isDrawLine(DrawContext dc)
Determines whether the placemark's optional line should be drawn and whether it intersects the view frustum. |
protected boolean |
isDrawPoint(DrawContext dc)
Indicates whether a point should be drawn when the active texture is null. |
boolean |
isEnableBatchPicking()
Indicates whether batch picking is enabled. |
boolean |
isEnableBatchRendering()
Indicates whether batch rendering is enabled. |
boolean |
isEnableDecluttering()
Indicates whether this placemark participates in global text decluttering. |
String |
isExportFormatSupported(String format)
Does this object support a certain export format? |
boolean |
isHighlighted()
Indicates whether the placemark is drawn highlighted. |
boolean |
isLineEnabled()
Indicates whether a line from the placemark point to the corresponding position on the terrain is drawn. |
boolean |
isVisible()
Indicates whether the placemark is drawn when in view. |
protected void |
makeOrderedRenderable(DrawContext dc)
If the scene controller is rendering ordered renderables, this method draws this placemark's image as an ordered renderable. |
void |
move(Position delta)
Shift the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North. |
void |
moveTo(Position position)
Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North. |
protected boolean |
mustDrawLabel()
Determines if the placemark label will be rendered. |
void |
pick(DrawContext dc,
Point pickPoint)
Executes a pick of the ordered renderable. |
void |
render(DrawContext dc)
Causes this Renderable to render itself using the provided draw context. |
void |
setAltitudeMode(int altitudeMode)
Specifies the placemark's altitude mode. |
void |
setApplyVerticalExaggeration(boolean applyVerticalExaggeration)
|
void |
setAttributes(PointPlacemarkAttributes attrs)
Specifies the attributes used when the placemark is drawn normally, not highlighted. |
void |
setClipToHorizon(boolean clipToHorizon)
Specifies whether this placemark is shown if it is beyond the horizon. |
void |
setDelegateOwner(Object owner)
Specifies the delegate owner of this placemark. |
void |
setEnableBatchPicking(boolean enableBatchPicking)
Specifies whether adjacent PointPlacemarks in the ordered renderable list may be pick-tested together if they are contained in the same layer. |
void |
setEnableBatchRendering(boolean enableBatchRendering)
Specifies whether adjacent PointPlacemarks in the ordered renderable list may be rendered together if they are contained in the same layer. |
void |
setEnableDecluttering(boolean enableDecluttering)
Specifies whether this placemark participates in globe text decluttering. |
void |
setHighlightAttributes(PointPlacemarkAttributes attrs)
Specifies the attributes used to draw the placemark when it's highlighted. |
void |
setHighlighted(boolean highlighted)
Specfies whether the placemark is drawn highlighted. |
void |
setLabelText(String labelText)
Specifies the placemark's label text that is displayed alongside the placemark. |
protected void |
setLineColor(DrawContext dc,
PickSupport pickCandidates)
Sets the color of the placemark's line during rendering. |
void |
setLineEnabled(boolean lineEnabled)
Specifies whether a line from the placemark point to the corresponding position on the terrain is drawn. |
void |
setLinePickWidth(int linePickWidth)
|
protected void |
setLineWidth(DrawContext dc)
Sets the width of the placemark's line during rendering. |
protected void |
setPointSize(DrawContext dc)
Sets the width of the placemark's point during rendering. |
void |
setPosition(Position position)
Sets the placemark's position. |
void |
setVisible(boolean visible)
Specifies whether the placemark is drawn when in view. |
| Methods inherited from class gov.nasa.worldwind.WWObjectImpl |
|---|
onMessage, propertyChange |
| Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl |
|---|
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, 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, toString, 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 |
|---|
protected PointPlacemarkAttributes activeAttributes
protected WWTexture activeTexture
protected int altitudeMode
protected boolean applyVerticalExaggeration
protected Font boundsFont
protected boolean clipToHorizon
protected static final Double DEFAULT_HIGHLIGHT_SCALE
protected static final Offset DEFAULT_LABEL_OFFSET_IF_UNSPECIFIED
protected static final Double DEFAULT_POINT_SIZE
protected static final PointPlacemarkAttributes defaultAttributes
protected Object delegateOwner
protected double dx
protected double dy
protected boolean enableBatchPicking
protected boolean enableBatchRendering
protected boolean enableDecluttering
protected double eyeDistance
protected long frameNumber
protected PointPlacemarkAttributes highlightAttrs
protected boolean highlighted
protected Rectangle2D labelBounds
protected String labelText
protected boolean lineEnabled
protected int linePickWidth
protected PointPlacemarkAttributes normalAttrs
protected Layer pickLayer
protected PickSupport pickSupport
protected Vec4 placePoint
protected Position position
protected Vec4 screenPoint
protected Vec4 terrainPoint
protected Map<String,WWTexture> textures
protected boolean visible
| Constructor Detail |
|---|
public PointPlacemark(Position position)
position - the placemark position.
IllegalArgumentException - if the position is null.| Method Detail |
|---|
protected void beginDrawing(DrawContext dc)
dc - the current draw context.protected WWTexture chooseTexture(PointPlacemarkAttributes attrs)
attrs - the attributes specifying the placemark image and properties.
protected void computeImageOffset(DrawContext dc)
protected Rectangle computeImageRectangle(DrawContext dc)
dc - the current draw context.
protected void computePlacemarkPoints(DrawContext dc)
dc - the current draw context.
protected PickedObject createPickedObject(DrawContext dc,
Color pickColor)
PickedObject for this placemark. The PickedObject returned by this method will be added to the
pick list to represent the current placemark.
dc - Active draw context.pickColor - Unique color for this PickedObject.
protected void determineActiveAttributes()
protected void doDrawOrderedRenderable(DrawContext dc,
PickSupport pickCandidates)
PickSupport. The PickSupport may not be the one associated with this instance. During batch
picking the PickSupport of the instance initiating the batch picking is used so that all shapes
rendered in batch are added to the same pick list.
dc - the current draw context.pickCandidates - a pick support holding the picked object list to add this shape to.protected void drawBatched(DrawContext dc)
dc - the current draw context.protected void drawLabel(DrawContext dc)
dc - the current draw context.
protected void drawLine(DrawContext dc,
PickSupport pickCandidates)
dc - the current draw context.pickCandidates - the pick support object to use when adding this as a pick candidate.protected void drawOrderedRenderable(DrawContext dc)
dc - the current draw context.
protected void drawPoint(DrawContext dc,
PickSupport pickCandidates)
dc - the current draw context.pickCandidates - the pick support object to use when adding this as a pick candidate.protected void endDrawing(DrawContext dc)
dc - the current draw context.
public void export(String mimeType,
Object output)
throws IOException
output object will receive the exported data. The type of this object depends
on the export format. The formats and object types supported by this class are:
Format Supported output object types
================================================================================
KML (application/vnd.google-earth.kml+xml) java.io.Writer
java.io.OutputStream
javax.xml.stream.XMLStreamWriter
export in interface ExportablemimeType - MIME type of desired export format.output - An object that will receive the exported data. The type of this object depends on the export
format (see above).
IOException - If an exception occurs writing to the output object.Exportable.isExportFormatSupported(String)
protected void exportAsKML(Object output)
throws IOException,
XMLStreamException
<Placemark> element. The output object will receive the data.
This object must be one of: java.io.Writer java.io.OutputStream javax.xml.stream.XMLStreamWriter
output - Object to receive the generated KML.
XMLStreamException - If an exception occurs while writing the KML
IOException - if an exception occurs while exporting the data.export(String, Object)protected PointPlacemarkAttributes getActiveAttributes()
public int getAltitudeMode()
setAltitudeMode(int) for a description of the modes.
public PointPlacemarkAttributes getAttributes()
public Rectangle2D getBounds(DrawContext dc)
getBounds in interface Declutterablepublic PointPlacemarkAttributes getDefaultAttributes()
public Object getDelegateOwner()
public double getDistanceFromEye()
getDistanceFromEye in interface OrderedRenderablepublic PointPlacemarkAttributes getHighlightAttributes()
protected Rectangle2D getLabelBounds(DrawContext dc)
dc - the current draw context.
public String getLabelText()
public int getLinePickWidth()
public Position getPosition()
getPosition in interface Locatablepublic Position getReferencePosition()
getReferencePosition in interface Movableprotected WWTexture initializeTexture(String address)
address - Path or URL to the image to load into a texture.
protected boolean intersectsFrustum(DrawContext dc)
dc - the current draw context.
public boolean isApplyVerticalExaggeration()
public boolean isClipToHorizon()
true if horizon clipping is enabled, otherwise false. The default value is true.protected boolean isDrawLine(DrawContext dc)
dc - the current draw context.
protected boolean isDrawPoint(DrawContext dc)
dc - the current draw context.
public boolean isEnableBatchPicking()
setEnableBatchPicking(boolean).public boolean isEnableBatchRendering()
setEnableBatchRendering(boolean).public boolean isEnableDecluttering()
isEnableDecluttering in interface Declutterabletrue if this placemark participates in global text decluttering, otherwise false. The default
value is false. Only the placemark's label is considered during decluttering.public String isExportFormatSupported(String format)
isExportFormatSupported in interface Exportableformat - Desired export format.
Exportable.FORMAT_SUPPORTED, Exportable.FORMAT_NOT_SUPPORTED, or Exportable.FORMAT_PARTIALLY_SUPPORTED.Exportable.export(String, Object)public boolean isHighlighted()
isHighlighted in interface Highlightablepublic boolean isLineEnabled()
public boolean isVisible()
protected void makeOrderedRenderable(DrawContext dc)
dc - the current draw context.public void move(Position delta)
move in interface Movabledelta - the latitude and longitude to add to the shape's reference position.public void moveTo(Position position)
moveTo in interface Movableposition - the new position of the shape's reference position.protected boolean mustDrawLabel()
public void pick(DrawContext dc,
Point pickPoint)
OrderedRenderable
pick in interface OrderedRenderabledc - the current draw context.pickPoint - the pick point.public void render(DrawContext dc)
RenderableRenderable to render itself using the provided draw context.
render in interface Renderabledc - the DrawContext to be usedDrawContextpublic void setAltitudeMode(int altitudeMode)
WorldWind.ABSOLUTE -- the point is
placed at its specified position.
altitudeMode - the altitude modepublic void setApplyVerticalExaggeration(boolean applyVerticalExaggeration)
public void setAttributes(PointPlacemarkAttributes attrs)
attrs - the attributes to use in normal mode. May be null to indicate use of default attributes.public void setClipToHorizon(boolean clipToHorizon)
clipToHorizon - true if this placemark should not be shown when beyond the horizon, otherwise false.public void setDelegateOwner(Object owner)
owner - the object to use as the pickable object returned during picking, or null to return the placemark.public void setEnableBatchPicking(boolean enableBatchPicking)
SelectEvent even if several of the placemarks are at the pick
position.
Batch rendering (setEnableBatchRendering(boolean)) must be enabled in order for batch picking to occur.
enableBatchPicking - true to enable batch rendering, otherwise false.public void setEnableBatchRendering(boolean enableBatchRendering)
enableBatchRendering - true to enable batch rendering, otherwise false.public void setEnableDecluttering(boolean enableDecluttering)
enableDecluttering - true if the placemark participates in global text decluttering, otherwise
false. The default value is false. Only the placemark lable is
considered during decluttering.public void setHighlightAttributes(PointPlacemarkAttributes attrs)
attrs - the attributes to use in normal mode. May be null to indicate use of the normal attributes.public void setHighlighted(boolean highlighted)
setHighlighted in interface Highlightablehighlighted - true if the placemark is drawn highlighted, otherwise false.public void setLabelText(String labelText)
labelText - the placemark label text. If null, no label is displayed.
protected void setLineColor(DrawContext dc,
PickSupport pickCandidates)
dc - the current draw context.pickCandidates - the pick support object to use when adding this as a pick candidate.public void setLineEnabled(boolean lineEnabled)
lineEnabled - true if the line is drawn, otherwise false.public void setLinePickWidth(int linePickWidth)
protected void setLineWidth(DrawContext dc)
dc - the current draw context.protected void setPointSize(DrawContext dc)
dc - the current draw context.public void setPosition(Position position)
position - the placemark position.
IllegalArgumentException - if the position is null.public void setVisible(boolean visible)
visible - true if the placemark is drawn when in view, otherwise false.
|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||