|
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.AbstractSurfaceObject
gov.nasa.worldwind.render.AbstractSurfaceRenderable
gov.nasa.worldwind.render.SurfaceIcon
public class SurfaceIcon
Renders an icon image over the terrain surface.
| Nested Class Summary | |
|---|---|
protected static class |
SurfaceIcon.SectorInfo
|
| Nested classes/interfaces inherited from class gov.nasa.worldwind.render.AbstractSurfaceObject |
|---|
AbstractSurfaceObject.CacheEntry, AbstractSurfaceObject.SurfaceObjectStateKey |
| Field Summary | |
|---|---|
protected int |
imageHeight
|
protected int |
imageWidth
|
protected WWTexture |
texture
|
| Fields inherited from class gov.nasa.worldwind.render.AbstractSurfaceObject |
|---|
delegateOwner, drawBoundingSectors, enableBatchPicking, extentCache, lastModifiedTime, nextUniqueId, pickLayer, pickSupport, pickTileBuilder, pickTiles, uniqueId, visible |
| Constructor Summary | |
|---|---|
SurfaceIcon(Object imageSource)
|
|
SurfaceIcon(Object imageSource,
LatLon location)
|
|
| Method Summary | |
|---|---|
protected void |
applyDrawColor(DrawContext dc)
|
protected void |
applyDrawTransform(DrawContext dc,
SurfaceTileDrawContext sdc,
LatLon location,
double drawScale)
|
protected void |
beginDraw(DrawContext dc)
|
protected void |
clearCaches()
Clears this SurfaceObject's internal extent cache. |
protected Rectangle2D.Double |
computeDrawDimension(double pixelSize)
|
protected Rectangle2D.Double |
computeDrawDimension(DrawContext dc,
LatLon location)
|
protected Angle |
computeDrawHeading(DrawContext dc)
|
protected double |
computeDrawScale(DrawContext dc,
SurfaceTileDrawContext sdc,
LatLon location)
|
protected List<Sector> |
computeSectors(DrawContext dc)
|
void |
drawGeographic(DrawContext dc,
SurfaceTileDrawContext sdc)
Causes the SurfaceObject to render itself to the specified region in geographic coordinates. |
protected void |
drawIcon(DrawContext dc,
SurfaceTileDrawContext sdc)
|
protected void |
endDraw(DrawContext dc)
|
Color |
getColor()
Get the Color the source image is combined with. |
Extent |
getExtent(DrawContext dc)
Returns the surface object's enclosing volume as an Extent in model coordinates,
given a specified DrawContext. |
Angle |
getHeading()
Get the current heading Angle, clockwise from North or null. |
Object |
getImageSource()
Get the source for the icon image. |
LatLon |
getLocation()
Get the icon reference location on the globe. |
Vec4 |
getLocationOffset()
Get the icon displacement in pixels relative to the reference location. |
double |
getMaxSize()
Get the maximum size in meter the icon image is allowed to be enlarged to once applied to the terrain surface. |
double |
getMinSize()
Get the minimum size in meter the icon image is allowed to be reduced to once applied to the terrain surface. |
Position |
getReferencePosition()
A position associated with the object that indicates its aggregate geographic position. |
double |
getScale()
Get the current scaling factor applied to the source image. |
List<Sector> |
getSectors(DrawContext dc)
Returns a List of Sector instances that bound the surface
object on the specified DrawContext. |
Object |
getStateKey(DrawContext dc)
Returns an object that uniquely identifies the surface object's state on the specified draw context. |
protected WWTexture |
getTexture()
|
protected boolean |
isMaintainAppearance()
|
boolean |
isMaintainSize()
Determines whether the icon constantly maintains it's apparent size. |
boolean |
isUseMipMaps()
Returns whether the icon will apply mip-map filtering to it's source image. |
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 void |
onPropertyChanged()
|
void |
setColor(Color color)
Set the Color the source image will be combined with - default to white. |
void |
setHeading(Angle heading)
Set the heading Angle, clockwise from North. |
void |
setImageSource(Object imageSource)
Set the source for the icon image. |
void |
setLocation(LatLon location)
Set the icon reference location on the globe. |
void |
setLocationOffset(Vec4 locationOffset)
Set the icon displacement in pixels relative to the reference location. |
void |
setMaintainSize(boolean state)
Sets whether the icon constantly maintains it's apparent size. |
void |
setMaxSize(double sizeInMeter)
Get the maximum size in meter the icon image is allowed to be enlarged to once applied to the terrain surface. |
void |
setMinSize(double sizeInMeter)
Set the minimum size in meter the icon image is allowed to be reduced to once applied to the terrain surface. |
void |
setScale(double scale)
Set the scaling factor to apply to the source image. |
void |
setUseMipMaps(boolean useMipMaps)
Sets whether the icon will apply mip-map filtering to it's source image. |
| Methods inherited from class gov.nasa.worldwind.render.AbstractSurfaceRenderable |
|---|
applyNonPremultipliedAlphaColor, applyPremultipliedAlphaColor, computeDrawPixelSize, computeDrawPoint, computeHemisphereOffset, computeNormalizedSectors, computePixelSizeAtLocation, computeRotatedSectorBounds, getOpacity, getViewHeading, setOpacity |
| 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 int imageHeight
protected int imageWidth
protected WWTexture texture
| Constructor Detail |
|---|
public SurfaceIcon(Object imageSource)
public SurfaceIcon(Object imageSource,
LatLon location)
| Method Detail |
|---|
protected void applyDrawColor(DrawContext dc)
protected void applyDrawTransform(DrawContext dc,
SurfaceTileDrawContext sdc,
LatLon location,
double drawScale)
protected void beginDraw(DrawContext dc)
protected void clearCaches()
AbstractSurfaceObject
clearCaches in class AbstractSurfaceObjectprotected Rectangle2D.Double computeDrawDimension(double pixelSize)
protected Rectangle2D.Double computeDrawDimension(DrawContext dc,
LatLon location)
protected Angle computeDrawHeading(DrawContext dc)
protected double computeDrawScale(DrawContext dc,
SurfaceTileDrawContext sdc,
LatLon location)
protected List<Sector> computeSectors(DrawContext dc)
public void drawGeographic(DrawContext dc,
SurfaceTileDrawContext sdc)
AbstractSurfaceObject
drawGeographic in class AbstractSurfaceObjectdc - the current draw context.sdc - the context containing a geographic region and screen viewport corresponding to a surface tile.
protected void drawIcon(DrawContext dc,
SurfaceTileDrawContext sdc)
protected void endDraw(DrawContext dc)
public Color getColor()
Color the source image is combined with.
Color the source image is combined with.public Extent getExtent(DrawContext dc)
AbstractSurfaceObjectExtent in model coordinates,
given a specified DrawContext.
getExtent in interface SurfaceObjectgetExtent in class AbstractSurfaceObjectdc - the current draw context.
public Angle getHeading()
Angle, clockwise from North or null.
Angle, clockwise from North or null.public Object getImageSource()
BufferedImage
reference.
public LatLon getLocation()
public Vec4 getLocationOffset()
null.
When null the icon will be drawn with it's image center on top of it's reference location - see
setLocation(LatLon). Otherwise the icon will be shifted of a distance equivalent to the number of pixels
specified as x and y offset values. Positive values will move the icon to the right for
x and up for y. Negative values will have the opposite effect.
public double getMaxSize()
setMinSize(double) and
setMaxSize(double).
public double getMinSize()
setMinSize(double) and
setMaxSize(double).
public Position getReferencePosition()
Movable
getReferencePosition in interface Movablepublic double getScale()
public List<Sector> getSectors(DrawContext dc)
SurfaceObjectList of Sector instances that bound the surface
object on the specified DrawContext.
getSectors in interface SurfaceObjectdc - the DrawContext the surface object is related to.
public Object getStateKey(DrawContext dc)
getStateKey in interface SurfaceObjectgetStateKey in class AbstractSurfaceObjectdc - the draw context the state key relates to.
getHeading(),
isMaintainSize()protected WWTexture getTexture()
protected boolean isMaintainAppearance()
public boolean isMaintainSize()
true the icon is constantly
redrawn at the proper size depending on it's distance from the eye. If false the icon will be drawn
only once per level of the underlying tile pyramid. Thus it's apparent size will vary up to twice it's 'normal'
dimension in between levels.
true if the icon constantly maintains it's apparent size.public boolean isUseMipMaps()
true the icon image
is drawn using mip-maps. If false the icon is drawn without mip-maps, resulting in aliasing if the
icon image is drawn smaller than it's native size in pixels.
true if the icon image is drawn with mip-map filtering; false otherwise.public void move(Position delta)
Movable
move in interface Movabledelta - the latitude and longitude to add to the shape's reference position.public void moveTo(Position position)
Movable
moveTo in interface Movableposition - the new position of the shape's reference position.protected void onPropertyChanged()
public void setColor(Color color)
Color the source image will be combined with - default to white.
A non white color will mostly affect the white portions from the original image. This is mostly useful to alter
the appearance of 'colorless' icons - which mainly contain black, white and shades of gray.
color - the Color the source image will be combined with.
IllegalArgumentException - if color is null.public void setHeading(Angle heading)
Angle, clockwise from North. Setting this value to null will have the icon
follow the view heading so as to always face the eye. The icon will rotate around it's reference location.
heading - the heading Angle, clockwise from North or null.public void setImageSource(Object imageSource)
BufferedImage
reference.
imageSource - the source for the icon image.
IllegalArgumentException - if imageSource is null.public void setLocation(LatLon location)
location - the icon reference location on the globe.
IllegalArgumentException - if location is null.public void setLocationOffset(Vec4 locationOffset)
null.
When null the icon will be drawn with it's image center on top of it's refence location - see setLocation(LatLon). Otherwise the icon will be shifted of a distance equivalent to the number of pixels
specified as x and y offset values. Positive values will move the icon to the right for
x and up for y. Negative values will have the opposite effect.
locationOffset - the icon displacement in pixels relative to the reference location.public void setMaintainSize(boolean state)
true the icon is constantly
redrawn at the proper size depending on it's distance from the eye. If false the icon will be drawn
only once per level of the underlying tile pyramid. Thus it's apparent size will vary up to twice it's 'normal'
dimension in between levels.
state - true if the icon should constantly maintains it's apparent size.public void setMaxSize(double sizeInMeter)
setMinSize(double) and
setMaxSize(double).
sizeInMeter - the maximum size of the icon in meter.public void setMinSize(double sizeInMeter)
setMinSize(double)
and setMaxSize(double).
sizeInMeter - the minimum size of the icon in meter.public void setScale(double scale)
1 will produce no change, a value
greater then 1 will enlarge the image and a value smaller then 1 will reduce it.
scale - the scaling factor to apply to the source image.
IllegalArgumentException - if scale is zero or negative.public void setUseMipMaps(boolean useMipMaps)
true the icon image is
drawn using mip-maps. If false the icon is drawn without mip-maps, resulting in aliasing if the icon
image is drawn smaller than it's native size in pixels.
useMipMaps - true if the icon image should be drawn with mip-map filtering; false
otherwise.
|
NASA World Wind | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||