Class ClosestShapePickSupport<V,E>
java.lang.Object
edu.uci.ics.jung.visualization.picking.ClosestShapePickSupport<V,E>
- All Implemented Interfaces:
GraphElementAccessor<V,
E>
A
GraphElementAccessor
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 from ShapePickSupport
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, then ShapePickSupport
and this class should have the same behavior.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate 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
-
Field Details
-
vv
-
pickSize
protected float pickSize
-
-
Constructor Details
-
ClosestShapePickSupport
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
Create aShapePickSupport
with thevv
VisualizationServer and default pick footprint. The footprint defaults to 2.- Parameters:
vv
- source of the currentLayout
.
-
-
Method Details
-
getEdge
- Specified by:
getEdge
in interfaceGraphElementAccessor<V,
E> - Parameters:
layout
- the context in which the location is definedx
- the x coordinate of the locationy
- the y coordinate of the location- Returns:
- an edge which is associated with the location
(x,y)
as given bylayout
, generally by reference to the edge's endpoints - See Also:
-
getVertex
Description copied from interface:GraphElementAccessor
Returns the vertex, if any, associated with (x, y).- Specified by:
getVertex
in interfaceGraphElementAccessor<V,
E> - Parameters:
layout
- the layout instance that records the positions for all verticesx
- the x coordinate of the pick pointy
- the y coordinate of the pick point- Returns:
- the vertex associated with (x, y)
- See Also:
-
getVertices
- Specified by:
getVertices
in interfaceGraphElementAccessor<V,
E> - Parameters:
layout
- the layout instance that records the positions for all verticesrectangle
- the region in which the returned vertices are located- Returns:
- the vertices whose locations given by
layout
are contained withinrectangle
- See Also:
-