Class ClosestShapePickSupport<V,E>
- java.lang.Object
-
- edu.uci.ics.jung.visualization.picking.ClosestShapePickSupport<V,E>
-
- All Implemented Interfaces:
edu.uci.ics.jung.algorithms.layout.GraphElementAccessor<V,E>
public class ClosestShapePickSupport<V,E> extends java.lang.Object implements edu.uci.ics.jung.algorithms.layout.GraphElementAccessor<V,E>
AGraphElementAccessor
that finds the closest element to the pick point, and returns it if it is within the element's shape. This is best suited to elements with convex shapes that do not overlap. It differs fromShapePickSupport
in that it only checks the closest element to see whether it contains the pick point. Possible unexpected odd behaviors:-
If the elements overlap, this mechanism may pick another element than the one that's
"on top" (rendered last) if the pick point is closer to the center of an obscured vertex.
If element shapes are not convex, then this mechanism may return
null
even if the pick point is inside some element's shape, if the pick point is closer to the center of another element.ShapePickSupport
instead, which is slower but more flexible. If neither of the above conditions (overlapping elements or non-convex shapes) is true, thenShapePickSupport
and this class should have the same behavior.
-
-
Field Summary
Fields Modifier and Type Field Description protected float
pickSize
protected VisualizationServer<V,E>
vv
-
Constructor Summary
Constructors Constructor Description ClosestShapePickSupport(VisualizationServer<V,E> vv)
Create aShapePickSupport
with thevv
VisualizationServer and default pick footprint.ClosestShapePickSupport(VisualizationServer<V,E> vv, float pickSize)
Creates aShapePickSupport
for thevv
VisualizationServer, with the specified pick footprint.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description E
getEdge(edu.uci.ics.jung.algorithms.layout.Layout<V,E> layout, double x, double y)
V
getVertex(edu.uci.ics.jung.algorithms.layout.Layout<V,E> layout, double x, double y)
java.util.Collection<V>
getVertices(edu.uci.ics.jung.algorithms.layout.Layout<V,E> layout, java.awt.Shape rectangle)
-
-
-
Field Detail
-
vv
protected VisualizationServer<V,E> vv
-
pickSize
protected float pickSize
-
-
Constructor Detail
-
ClosestShapePickSupport
public ClosestShapePickSupport(VisualizationServer<V,E> vv, float pickSize)
Creates aShapePickSupport
for thevv
VisualizationServer, with the specified pick footprint. TheVisualizationServer
is used to fetch the currentLayout
.- Parameters:
vv
- source of the currentLayout
.pickSize
- the size of the pick footprint for line edges
-
ClosestShapePickSupport
public ClosestShapePickSupport(VisualizationServer<V,E> vv)
Create aShapePickSupport
with thevv
VisualizationServer and default pick footprint. The footprint defaults to 2.
-
-
Method Detail
-
getEdge
public E getEdge(edu.uci.ics.jung.algorithms.layout.Layout<V,E> layout, double x, double y)
-
getVertex
public V getVertex(edu.uci.ics.jung.algorithms.layout.Layout<V,E> layout, double x, double y)
-
-