Class WWOMeasureTool
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwindx.applications.worldwindow.util.measuretool.WWOMeasureTool
-
- All Implemented Interfaces:
AVList,Disposable,PositionListener,RenderingListener,SelectListener,java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.util.EventListener
public class WWOMeasureTool extends AVListImpl implements Disposable, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, SelectListener, PositionListener, RenderingListener
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceWWOMeasureTool.ControlPointstatic interfaceWWOMeasureTool.ControlPointListstatic interfaceWWOMeasureTool.MeasureDisplay
-
Field Summary
Fields Modifier and Type Field Description protected booleanactiveprotected booleanarmedprotected WWOMeasureTool.ControlPointListcontrolPointsprotected RenderableLayercontrolPointsLayerprotected BasicDraggerdraggerstatic java.lang.StringEVENT_ARMEDstatic java.lang.StringEVENT_METRIC_CHANGEDstatic java.lang.StringEVENT_POSITION_ADDstatic java.lang.StringEVENT_POSITION_REMOVEstatic java.lang.StringEVENT_POSITION_REPLACEstatic java.lang.StringEVENT_RUBBERBAND_STARTstatic java.lang.StringEVENT_RUBBERBAND_STOPprotected javax.swing.event.EventListenerListeventListenersprotected booleanfreeHandprotected doublefreeHandMinSpacingprotected WWOMeasureTool.ControlPointlastPickedObjectprotected WWOMeasureTool.MeasureDisplaymeasureDisplayprotected java.lang.StringmeasureShapeTypeprotected booleanmovingprotected WWOMeasureTool.ControlPointmovingTargetprotected java.util.ArrayList<Position>positionsprotected booleanregularShapeprotected WWOMeasureTool.ControlPointrubberBandTargetprotected Renderableshapeprotected PositionshapeCenterPositionprotected intshapeIntervalsprotected AngleshapeOrientationprotected java.awt.geom.Rectangle2D.DoubleshapeRectangleprotected booleanshowAnnotationprotected booleanshowControlPointsprotected UnitsFormatunitsFormatprotected booleanuseRubberBandprotected WorldWindowwwd
-
Constructor Summary
Constructors Constructor Description WWOMeasureTool(WorldWindow wwd, Renderable shape, java.lang.String lineType, RenderableLayer controlPointsLayer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddControlPoint()Add a control point to the current measure shape at the cuurrent WorldWindow position.protected voidaddControlPoint(Position position, java.lang.String key, java.lang.Object value)voidaddSelectListener(SelectListener listener)protected voidautoDisarm()protected voidcallSelectListeners(SelectEvent event)voidclear()protected PositioncomputeSurfacePosition(LatLon latLon)protected WWOMeasureTool.ControlPointcreateControlPoint(Position position)protected WWOMeasureTool.ControlPointListcreateControlPoints()protected WWOMeasureTool.MeasureDisplaycreateMeasureDisplay()voiddispose()Disposes of any internal resources allocated by the object.protected voiddoMoved()protected voiddoSelected(SelectEvent event)protected voiddragSelected(SelectEvent event)doublegetArea()PositiongetCenterPosition()protected WWOMeasureTool.ControlPointListgetControlPoints()doublegetFreeHandMinSpacing()doublegetHeight()java.lang.StringgetLabel(java.lang.String labelName)doublegetLength()java.lang.StringgetMeasureShapeType()AnglegetOrientation()java.util.ArrayList<? extends Position>getPositions()RenderablegetShape()java.awt.geom.Rectangle2D.DoublegetShapeRectangle()UnitsFormatgetUnitsFormat()doublegetWidth()WorldWindowgetWwd()protected voidhighlight(java.lang.Object o)protected booleanisActive()booleanisArmed()booleanisFreeHand()protected booleanisMoving()protected booleanisRegularShape()booleanisShowAnnotation()booleanisShowControlPoints()booleanisUseRubberBand()voidmouseClicked(java.awt.event.MouseEvent mouseEvent)voidmouseDragged(java.awt.event.MouseEvent mouseEvent)voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent mouseEvent)voidmousePressed(java.awt.event.MouseEvent mouseEvent)voidmouseReleased(java.awt.event.MouseEvent mouseEvent)voidmoveControlPoint(WWOMeasureTool.ControlPoint point)Update the current measure shape according to a given control point position.voidmoved(PositionEvent event)voidmoveMeasureShape(Angle azimuth, Angle distance)Move the current measure shape along a great circle arc at a given azimuthAnglefor a given distanceAngle.protected voidmoveToPosition(Position oldPosition, Position newPosition)voidremoveControlPoint()Remove the last control point from the current measure shape.voidselected(SelectEvent event)protected voidsetActive(boolean state)voidsetArmed(boolean armed)Arms and disarms the measure tool controller.voidsetFreeHand(boolean state)voidsetFreeHandMinSpacing(double distance)voidsetLabel(java.lang.String labelName, java.lang.String label)protected voidsetMeasureShape(Path line, java.lang.String shapeType)protected voidsetMeasureShape(SurfaceShape newShape)protected voidsetMoving(boolean state)voidsetShowAnnotation(boolean state)voidsetShowControlPoints(boolean state)voidsetUnitsFormat(UnitsFormat unitsFormat)voidsetUseRubberBand(boolean state)voidstageChanged(RenderingEvent event)protected voidupdateMeasureShape()protected voidupdatePositionsFromShape()protected voidupdateShapeControlPoints()protected voidupdateShapeProperties(java.lang.String control, Position newPosition)-
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
-
-
-
-
Field Detail
-
EVENT_POSITION_ADD
public static final java.lang.String EVENT_POSITION_ADD
- See Also:
- Constant Field Values
-
EVENT_POSITION_REMOVE
public static final java.lang.String EVENT_POSITION_REMOVE
- See Also:
- Constant Field Values
-
EVENT_POSITION_REPLACE
public static final java.lang.String EVENT_POSITION_REPLACE
- See Also:
- Constant Field Values
-
EVENT_METRIC_CHANGED
public static final java.lang.String EVENT_METRIC_CHANGED
- See Also:
- Constant Field Values
-
EVENT_ARMED
public static final java.lang.String EVENT_ARMED
- See Also:
- Constant Field Values
-
EVENT_RUBBERBAND_START
public static final java.lang.String EVENT_RUBBERBAND_START
- See Also:
- Constant Field Values
-
EVENT_RUBBERBAND_STOP
public static final java.lang.String EVENT_RUBBERBAND_STOP
- See Also:
- Constant Field Values
-
wwd
protected final WorldWindow wwd
-
dragger
protected BasicDragger dragger
-
shape
protected Renderable shape
-
measureShapeType
protected java.lang.String measureShapeType
-
regularShape
protected boolean regularShape
-
controlPoints
protected WWOMeasureTool.ControlPointList controlPoints
-
controlPointsLayer
protected RenderableLayer controlPointsLayer
-
showControlPoints
protected boolean showControlPoints
-
measureDisplay
protected WWOMeasureTool.MeasureDisplay measureDisplay
-
showAnnotation
protected boolean showAnnotation
-
unitsFormat
protected UnitsFormat unitsFormat
-
positions
protected java.util.ArrayList<Position> positions
-
shapeRectangle
protected java.awt.geom.Rectangle2D.Double shapeRectangle
-
shapeCenterPosition
protected Position shapeCenterPosition
-
shapeOrientation
protected Angle shapeOrientation
-
shapeIntervals
protected int shapeIntervals
-
armed
protected boolean armed
-
active
protected boolean active
-
moving
protected boolean moving
-
useRubberBand
protected boolean useRubberBand
-
freeHand
protected boolean freeHand
-
freeHandMinSpacing
protected double freeHandMinSpacing
-
rubberBandTarget
protected WWOMeasureTool.ControlPoint rubberBandTarget
-
movingTarget
protected WWOMeasureTool.ControlPoint movingTarget
-
lastPickedObject
protected WWOMeasureTool.ControlPoint lastPickedObject
-
eventListeners
protected javax.swing.event.EventListenerList eventListeners
-
-
Constructor Detail
-
WWOMeasureTool
public WWOMeasureTool(WorldWindow wwd, Renderable shape, java.lang.String lineType, RenderableLayer controlPointsLayer)
-
-
Method Detail
-
dispose
public void dispose()
Description copied from interface:DisposableDisposes of any internal resources allocated by the object.- Specified by:
disposein interfaceDisposable
-
createControlPoints
protected WWOMeasureTool.ControlPointList createControlPoints()
-
createMeasureDisplay
protected WWOMeasureTool.MeasureDisplay createMeasureDisplay()
-
getWwd
public WorldWindow getWwd()
-
setUnitsFormat
public void setUnitsFormat(UnitsFormat unitsFormat)
-
getUnitsFormat
public UnitsFormat getUnitsFormat()
-
setLabel
public void setLabel(java.lang.String labelName, java.lang.String label)
-
getLabel
public java.lang.String getLabel(java.lang.String labelName)
-
getShape
public Renderable getShape()
-
isShowControlPoints
public boolean isShowControlPoints()
-
setShowControlPoints
public void setShowControlPoints(boolean state)
-
isShowAnnotation
public boolean isShowAnnotation()
-
setShowAnnotation
public void setShowAnnotation(boolean state)
-
isUseRubberBand
public boolean isUseRubberBand()
-
setUseRubberBand
public void setUseRubberBand(boolean state)
-
isFreeHand
public boolean isFreeHand()
-
setFreeHand
public void setFreeHand(boolean state)
-
getFreeHandMinSpacing
public double getFreeHandMinSpacing()
-
setFreeHandMinSpacing
public void setFreeHandMinSpacing(double distance)
-
clear
public void clear()
-
getMeasureShapeType
public java.lang.String getMeasureShapeType()
-
getPositions
public java.util.ArrayList<? extends Position> getPositions()
-
getControlPoints
protected WWOMeasureTool.ControlPointList getControlPoints()
-
createControlPoint
protected WWOMeasureTool.ControlPoint createControlPoint(Position position)
-
getShapeRectangle
public java.awt.geom.Rectangle2D.Double getShapeRectangle()
-
setMeasureShape
protected void setMeasureShape(Path line, java.lang.String shapeType)
-
setMeasureShape
protected void setMeasureShape(SurfaceShape newShape)
-
isRegularShape
protected boolean isRegularShape()
-
getLength
public double getLength()
-
getArea
public double getArea()
-
getWidth
public double getWidth()
-
getHeight
public double getHeight()
-
getOrientation
public Angle getOrientation()
-
getCenterPosition
public Position getCenterPosition()
-
addControlPoint
public void addControlPoint()
Add a control point to the current measure shape at the cuurrent WorldWindow position.
-
removeControlPoint
public void removeControlPoint()
Remove the last control point from the current measure shape.
-
moveControlPoint
public void moveControlPoint(WWOMeasureTool.ControlPoint point)
Update the current measure shape according to a given control point position.- Parameters:
point- one of the shape control points.
-
moveMeasureShape
public void moveMeasureShape(Angle azimuth, Angle distance)
Move the current measure shape along a great circle arc at a given azimuthAnglefor a given distanceAngle.- Parameters:
azimuth- the azimuthAngle.distance- the distanceAngle.
-
updateShapeProperties
protected void updateShapeProperties(java.lang.String control, Position newPosition)
-
updateShapeControlPoints
protected void updateShapeControlPoints()
-
updateMeasureShape
protected void updateMeasureShape()
-
updatePositionsFromShape
protected void updatePositionsFromShape()
-
addControlPoint
protected void addControlPoint(Position position, java.lang.String key, java.lang.Object value)
-
isActive
protected boolean isActive()
-
setActive
protected void setActive(boolean state)
-
isMoving
protected boolean isMoving()
-
setMoving
protected void setMoving(boolean state)
-
isArmed
public boolean isArmed()
-
setArmed
public void setArmed(boolean armed)
Arms and disarms the measure tool controller. When armed, the controller monitors user input and builds the shape in response to user actions. When disarmed, the controller ignores all user input.- Parameters:
armed- true to arm the controller, false to disarm it.
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent mouseEvent)
- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent mouseEvent)
- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent mouseEvent)
- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent mouseEvent)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent mouseEvent)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
moved
public void moved(PositionEvent event)
- Specified by:
movedin interfacePositionListener
-
selected
public void selected(SelectEvent event)
- Specified by:
selectedin interfaceSelectListener
-
stageChanged
public void stageChanged(RenderingEvent event)
- Specified by:
stageChangedin interfaceRenderingListener
-
doMoved
protected void doMoved()
-
addSelectListener
public void addSelectListener(SelectListener listener)
-
callSelectListeners
protected void callSelectListeners(SelectEvent event)
-
doSelected
protected void doSelected(SelectEvent event)
-
dragSelected
protected void dragSelected(SelectEvent event)
-
highlight
protected void highlight(java.lang.Object o)
-
autoDisarm
protected void autoDisarm()
-
-