public class NavigatableComponent
extends javax.swing.JComponent
implements org.openstreetmap.josm.gui.help.Helpful
Modifier and Type | Class and Description |
---|---|
static class |
NavigatableComponent.SystemOfMeasurement |
static interface |
NavigatableComponent.ZoomChangeListener
Interface to notify listeners of the change of the zoom area.
|
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected org.openstreetmap.josm.data.coor.EastNorth |
center
Center n/e coordinate of the desired screen center.
|
static NavigatableComponent.SystemOfMeasurement |
CHINESE_SOM |
static NavigatableComponent.SystemOfMeasurement |
IMPERIAL_SOM |
static NavigatableComponent.SystemOfMeasurement |
METRIC_SOM |
static org.openstreetmap.josm.data.preferences.IntegerProperty |
PROP_SNAP_DISTANCE |
static java.lang.String |
PROPNAME_CENTER |
static java.lang.String |
PROPNAME_SCALE |
static java.util.Map<java.lang.String,NavigatableComponent.SystemOfMeasurement> |
SYSTEMS_OF_MEASUREMENT |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
NavigatableComponent() |
Modifier and Type | Method and Description |
---|---|
static void |
addZoomChangeListener(NavigatableComponent.ZoomChangeListener listener)
Adds a zoom change listener
|
static <T> java.util.Collection<T> |
asColl(T o) |
protected static void |
fireZoomChanged() |
java.awt.geom.AffineTransform |
getAffineTransform() |
java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> |
getAllNearest(java.awt.Point p,
java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> ignore,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> |
getAllNearest(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
org.openstreetmap.josm.data.coor.EastNorth |
getCenter() |
protected org.openstreetmap.josm.data.osm.DataSet |
getCurrentDataSet() |
double |
getDist100Pixel() |
java.lang.String |
getDist100PixelText() |
static java.lang.String |
getDistText(double dist) |
org.openstreetmap.josm.data.coor.EastNorth |
getEastNorth(int x,
int y) |
org.openstreetmap.josm.data.coor.LatLon |
getLatLon(double x,
double y) |
org.openstreetmap.josm.data.coor.LatLon |
getLatLon(int x,
int y) |
org.openstreetmap.josm.data.Bounds |
getLatLonBounds(java.awt.Rectangle r) |
org.openstreetmap.josm.data.ProjectionBounds |
getMaxProjectionBounds() |
org.openstreetmap.josm.data.osm.Node |
getNearestNode(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
Convenience method to
getNearestNode(Point, Predicate, boolean) . |
org.openstreetmap.josm.data.osm.Node |
getNearestNode(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate,
boolean use_selected)
The *result* depends on the current map selection state IF use_selected is true.
|
org.openstreetmap.josm.data.osm.OsmPrimitive |
getNearestNodeOrWay(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate,
boolean use_selected)
The *result* depends on the current map selection state IF use_selected is true.
|
java.util.List<org.openstreetmap.josm.data.osm.Node> |
getNearestNodes(java.awt.Point p,
java.util.Collection<org.openstreetmap.josm.data.osm.Node> ignore,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
java.util.List<org.openstreetmap.josm.data.osm.Node> |
getNearestNodes(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> |
getNearestNodesOrWays(java.awt.Point p,
java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> ignore,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> |
getNearestNodesOrWays(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
org.openstreetmap.josm.data.osm.Way |
getNearestWay(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* depends on the current map selection state.
|
java.util.List<org.openstreetmap.josm.data.osm.Way> |
getNearestWays(java.awt.Point p,
java.util.Collection<org.openstreetmap.josm.data.osm.Way> ignore,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
java.util.List<org.openstreetmap.josm.data.osm.Way> |
getNearestWays(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The *result* does not depend on the current map selection state,
neither does the result *order*.
|
org.openstreetmap.josm.data.osm.WaySegment |
getNearestWaySegment(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
Convenience method to
getNearestWaySegment(Point, Predicate, boolean) . |
org.openstreetmap.josm.data.osm.WaySegment |
getNearestWaySegment(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate,
boolean use_selected)
The *result* depends on the current map selection state IF use_selected is true.
|
java.util.List<org.openstreetmap.josm.data.osm.WaySegment> |
getNearestWaySegments(java.awt.Point p,
java.util.Collection<org.openstreetmap.josm.data.osm.WaySegment> ignore,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The result *order* depends on the current map selection state.
|
java.util.List<org.openstreetmap.josm.data.osm.WaySegment> |
getNearestWaySegments(java.awt.Point p,
org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
The result *order* depends on the current map selection state.
|
java.awt.Point |
getPoint(org.openstreetmap.josm.data.coor.EastNorth p) |
java.awt.Point |
getPoint(org.openstreetmap.josm.data.coor.LatLon latlon) |
java.awt.Point |
getPoint(org.openstreetmap.josm.data.osm.Node n) |
java.awt.geom.Point2D |
getPoint2D(org.openstreetmap.josm.data.coor.EastNorth p)
Return the point on the screen where this Coordinate would be.
|
java.awt.geom.Point2D |
getPoint2D(org.openstreetmap.josm.data.coor.LatLon latlon) |
java.awt.geom.Point2D |
getPoint2D(org.openstreetmap.josm.data.osm.Node n) |
org.openstreetmap.josm.data.projection.Projection |
getProjection() |
org.openstreetmap.josm.data.ProjectionBounds |
getProjectionBounds() |
org.openstreetmap.josm.data.Bounds |
getRealBounds() |
static NavigatableComponent.SystemOfMeasurement |
getSystemOfMeasurement() |
int |
getViewID()
Return a ID which is unique as long as viewport dimensions are the same
|
boolean |
hasZoomRedoEntries() |
boolean |
hasZoomUndoEntries() |
java.lang.String |
helpTopic() |
static double |
perDist(java.awt.geom.Point2D pt,
java.awt.geom.Point2D a,
java.awt.geom.Point2D b) |
static java.awt.geom.Point2D |
project(double r,
java.awt.geom.Point2D a,
java.awt.geom.Point2D b)
if r = 0 returns a, if r=1 returns b,
if r = 0.5 returns center between a and b, etc..
|
static java.awt.geom.Point2D |
project(java.awt.geom.Point2D pt,
java.awt.geom.Point2D a,
java.awt.geom.Point2D b) |
static void |
removeZoomChangeListener(NavigatableComponent.ZoomChangeListener listener)
Removes a zoom change listener
|
void |
resetCursor(java.lang.Object reference)
Remove the new cursor and reset to previous
|
void |
setNewCursor(java.awt.Cursor cursor,
java.lang.Object reference)
Set new cursor.
|
void |
setNewCursor(int cursor,
java.lang.Object reference) |
void |
smoothScrollTo(org.openstreetmap.josm.data.coor.EastNorth newCenter)
Create a thread that moves the viewport to the given center in an
animated fashion.
|
void |
smoothScrollTo(org.openstreetmap.josm.data.coor.LatLon newCenter) |
void |
zoomNext() |
void |
zoomPrevious() |
void |
zoomTo(org.openstreetmap.josm.data.Bounds box) |
void |
zoomTo(org.openstreetmap.josm.data.coor.EastNorth newCenter) |
void |
zoomTo(org.openstreetmap.josm.data.coor.EastNorth newCenter,
double newScale)
Zoom to the given coordinate.
|
void |
zoomTo(org.openstreetmap.josm.data.coor.LatLon newCenter) |
void |
zoomTo(org.openstreetmap.josm.data.ProjectionBounds box) |
void |
zoomToFactor(double factor) |
void |
zoomToFactor(double x,
double y,
double factor) |
void |
zoomToFactor(org.openstreetmap.josm.data.coor.EastNorth newCenter,
double factor) |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final org.openstreetmap.josm.data.preferences.IntegerProperty PROP_SNAP_DISTANCE
public static final java.lang.String PROPNAME_CENTER
public static final java.lang.String PROPNAME_SCALE
protected org.openstreetmap.josm.data.coor.EastNorth center
public static final NavigatableComponent.SystemOfMeasurement METRIC_SOM
public static final NavigatableComponent.SystemOfMeasurement CHINESE_SOM
public static final NavigatableComponent.SystemOfMeasurement IMPERIAL_SOM
public static final java.util.Map<java.lang.String,NavigatableComponent.SystemOfMeasurement> SYSTEMS_OF_MEASUREMENT
public static void removeZoomChangeListener(NavigatableComponent.ZoomChangeListener listener)
listener
- the listener. Ignored if null or already absentpublic static void addZoomChangeListener(NavigatableComponent.ZoomChangeListener listener)
listener
- the listener. Ignored if null or already registered.protected static void fireZoomChanged()
protected org.openstreetmap.josm.data.osm.DataSet getCurrentDataSet()
public static java.lang.String getDistText(double dist)
public java.lang.String getDist100PixelText()
public double getDist100Pixel()
public org.openstreetmap.josm.data.coor.EastNorth getCenter()
public org.openstreetmap.josm.data.coor.EastNorth getEastNorth(int x, int y)
x
- X-Pixelposition to get coordinate fromy
- Y-Pixelposition to get coordinate frompublic org.openstreetmap.josm.data.ProjectionBounds getProjectionBounds()
public org.openstreetmap.josm.data.ProjectionBounds getMaxProjectionBounds()
public org.openstreetmap.josm.data.Bounds getRealBounds()
public org.openstreetmap.josm.data.coor.LatLon getLatLon(int x, int y)
x
- X-Pixelposition to get coordinate fromy
- Y-Pixelposition to get coordinate frompublic org.openstreetmap.josm.data.coor.LatLon getLatLon(double x, double y)
public org.openstreetmap.josm.data.Bounds getLatLonBounds(java.awt.Rectangle r)
r
- public java.awt.geom.AffineTransform getAffineTransform()
public java.awt.geom.Point2D getPoint2D(org.openstreetmap.josm.data.coor.EastNorth p)
p
- The point, where this geopoint would be drawn.public java.awt.geom.Point2D getPoint2D(org.openstreetmap.josm.data.coor.LatLon latlon)
public java.awt.geom.Point2D getPoint2D(org.openstreetmap.josm.data.osm.Node n)
public java.awt.Point getPoint(org.openstreetmap.josm.data.coor.EastNorth p)
public java.awt.Point getPoint(org.openstreetmap.josm.data.coor.LatLon latlon)
public java.awt.Point getPoint(org.openstreetmap.josm.data.osm.Node n)
public void zoomTo(org.openstreetmap.josm.data.coor.EastNorth newCenter, double newScale)
newCenter
- The center x-value (easting) to zoom to.scale
- The scale to use.public void zoomTo(org.openstreetmap.josm.data.coor.EastNorth newCenter)
public void zoomTo(org.openstreetmap.josm.data.coor.LatLon newCenter)
public void smoothScrollTo(org.openstreetmap.josm.data.coor.LatLon newCenter)
public void smoothScrollTo(org.openstreetmap.josm.data.coor.EastNorth newCenter)
public void zoomToFactor(double x, double y, double factor)
public void zoomToFactor(org.openstreetmap.josm.data.coor.EastNorth newCenter, double factor)
public void zoomToFactor(double factor)
public void zoomTo(org.openstreetmap.josm.data.ProjectionBounds box)
public void zoomTo(org.openstreetmap.josm.data.Bounds box)
public void zoomPrevious()
public void zoomNext()
public boolean hasZoomUndoEntries()
public boolean hasZoomRedoEntries()
public final java.util.List<org.openstreetmap.josm.data.osm.Node> getNearestNodes(java.awt.Point p, java.util.Collection<org.openstreetmap.josm.data.osm.Node> ignore, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest segment.ignore
- a collection of nodes which are not to be returned.predicate
- the returned objects have to fulfill certain properties.public final java.util.List<org.openstreetmap.josm.data.osm.Node> getNearestNodes(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest segment.predicate
- the returned objects have to fulfill certain properties.getNearestNodes(Point, Collection, Predicate)
public final org.openstreetmap.josm.data.osm.Node getNearestNode(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate, boolean use_selected)
p
- the screen pointpredicate
- this parameter imposes a condition on the returned object, e.g.
give the nearest node that is tagged.public final org.openstreetmap.josm.data.osm.Node getNearestNode(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
getNearestNode(Point, Predicate, boolean)
.public final java.util.List<org.openstreetmap.josm.data.osm.WaySegment> getNearestWaySegments(java.awt.Point p, java.util.Collection<org.openstreetmap.josm.data.osm.WaySegment> ignore, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest segments.ignore
- a collection of segments which are not to be returned.predicate
- the returned objects have to fulfill certain properties.public final java.util.List<org.openstreetmap.josm.data.osm.WaySegment> getNearestWaySegments(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest segments.predicate
- the returned objects have to fulfill certain properties.getNearestWaySegments(Point, Collection, Predicate)
public final org.openstreetmap.josm.data.osm.WaySegment getNearestWaySegment(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate, boolean use_selected)
p
- the point for which to search the nearest segment.predicate
- the returned object has to fulfill certain properties.use_selected
- whether selected way segments should be preferred.getNearestWaySegments(Point, Collection, Predicate)
public final org.openstreetmap.josm.data.osm.WaySegment getNearestWaySegment(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
getNearestWaySegment(Point, Predicate, boolean)
.public final java.util.List<org.openstreetmap.josm.data.osm.Way> getNearestWays(java.awt.Point p, java.util.Collection<org.openstreetmap.josm.data.osm.Way> ignore, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest ways.ignore
- a collection of ways which are not to be returned.predicate
- the returned object has to fulfill certain properties.getNearestWaySegments(Point, Collection, Predicate)
public final java.util.List<org.openstreetmap.josm.data.osm.Way> getNearestWays(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest ways.predicate
- the returned object has to fulfill certain properties.getNearestWays(Point, Collection, Predicate)
public final org.openstreetmap.josm.data.osm.Way getNearestWay(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- the point for which to search the nearest segment.predicate
- the returned object has to fulfill certain properties.#getNearestWaySegment(Point, Collection, Predicate)
public final java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> getNearestNodesOrWays(java.awt.Point p, java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> ignore, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- The point on screen.ignore
- a collection of ways which are not to be returned.predicate
- the returned object has to fulfill certain properties.getNearestNodes(Point, Collection, Predicate)
,
getNearestWays(Point, Collection, Predicate)
public final java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> getNearestNodesOrWays(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- The point on screen.predicate
- the returned object has to fulfill certain properties.#getNearests(Point, Collection, Predicate)
public final org.openstreetmap.josm.data.osm.OsmPrimitive getNearestNodeOrWay(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate, boolean use_selected)
getNearestNode(Point, Predicate)
to find
the nearest, selected node. If not found, try getNearestWaySegment(Point, Predicate)
to find the nearest selected way.
IF use_selected is false, or if no selected primitive was found, do the following.
If the nearest node found is within 4px of p, simply take it.
Else, find the nearest way segment. Then, if p is closer to its
middle than to the node, take the way segment, else take the node.
Finally, if no nearest primitive is found at all, return null.p
- The point on screen.predicate
- the returned object has to fulfill certain properties.use_selected
- whether to prefer primitives that are currently selected.getNearestNode(Point, Predicate)
,
getNearestNodesImpl(Point, Predicate)
,
getNearestWay(Point, Predicate)
public static <T> java.util.Collection<T> asColl(T o)
public static double perDist(java.awt.geom.Point2D pt, java.awt.geom.Point2D a, java.awt.geom.Point2D b)
public static java.awt.geom.Point2D project(java.awt.geom.Point2D pt, java.awt.geom.Point2D a, java.awt.geom.Point2D b)
pt
- point to project onto (ab)a
- root of vectorb
- vectorpublic static java.awt.geom.Point2D project(double r, java.awt.geom.Point2D a, java.awt.geom.Point2D b)
r
- scale valuea
- root of vectorb
- vectorpublic final java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> getAllNearest(java.awt.Point p, java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive> ignore, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- The point on screen.ignore
- a collection of ways which are not to be returned.predicate
- the returned object has to fulfill certain properties.public final java.util.List<org.openstreetmap.josm.data.osm.OsmPrimitive> getAllNearest(java.awt.Point p, org.openstreetmap.josm.tools.Predicate<org.openstreetmap.josm.data.osm.OsmPrimitive> predicate)
p
- The point on screen.predicate
- the returned object has to fulfill certain properties.getAllNearest(Point, Collection, Predicate)
public org.openstreetmap.josm.data.projection.Projection getProjection()
public java.lang.String helpTopic()
helpTopic
in interface org.openstreetmap.josm.gui.help.Helpful
public int getViewID()
public static NavigatableComponent.SystemOfMeasurement getSystemOfMeasurement()
public void setNewCursor(java.awt.Cursor cursor, java.lang.Object reference)
public void setNewCursor(int cursor, java.lang.Object reference)
public void resetCursor(java.lang.Object reference)