Class VisualGraphShapePickSupport<V extends VisualVertex,​E extends VisualEdge<V>>

  • All Implemented Interfaces:
    edu.uci.ics.jung.algorithms.layout.GraphElementAccessor<V,​E>

    public class VisualGraphShapePickSupport<V extends VisualVertex,​E extends VisualEdge<V>>
    extends edu.uci.ics.jung.visualization.picking.ShapePickSupport<V,​E>
    • Nested Class Summary

      • Nested classes/interfaces inherited from class edu.uci.ics.jung.visualization.picking.ShapePickSupport

        edu.uci.ics.jung.visualization.picking.ShapePickSupport.Style
    • Field Summary

      • Fields inherited from class edu.uci.ics.jung.visualization.picking.ShapePickSupport

        pickSize, style, vv
    • Constructor Summary

      Constructors 
      Constructor Description
      VisualGraphShapePickSupport​(edu.uci.ics.jung.visualization.VisualizationServer<V,​E> viewer)  
    • 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 viewSpaceX, double viewSpaceY)
      Overridden to handle edge picking with our custom edge placement.
      protected java.util.Collection<V> getFilteredVertices​(edu.uci.ics.jung.algorithms.layout.Layout<V,​E> layout)  
      • Methods inherited from class edu.uci.ics.jung.visualization.picking.ShapePickSupport

        edgesAreFiltered, getFilteredEdges, getPickSize, getStyle, getVertex, getVertices, isEdgeRendered, isVertexRendered, setPickSize, setStyle, verticesAreFiltered
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • VisualGraphShapePickSupport

        public VisualGraphShapePickSupport​(edu.uci.ics.jung.visualization.VisualizationServer<V,​E> viewer)
    • Method Detail

      • getFilteredVertices

        protected java.util.Collection<V> getFilteredVertices​(edu.uci.ics.jung.algorithms.layout.Layout<V,​E> layout)
        Overrides:
        getFilteredVertices in class edu.uci.ics.jung.visualization.picking.ShapePickSupport<V extends VisualVertex,​E extends VisualEdge<V>>
      • getEdge

        public E getEdge​(edu.uci.ics.jung.algorithms.layout.Layout<V,​E> layout,
                         double viewSpaceX,
                         double viewSpaceY)
        Overridden to handle edge picking with our custom edge placement. The painting and picking algorithms in Jung are all hard-coded to transform loop edges to above the vertex--there is no way to plug our own transformation into Jung :(
        Specified by:
        getEdge in interface edu.uci.ics.jung.algorithms.layout.GraphElementAccessor<V extends VisualVertex,​E extends VisualEdge<V>>
        Overrides:
        getEdge in class edu.uci.ics.jung.visualization.picking.ShapePickSupport<V extends VisualVertex,​E extends VisualEdge<V>>
        Parameters:
        layout -
        viewSpaceX - The x under which to look for an edge (view coordinates)
        viewSpaceY - The y under which to look for an edge (view coordinates)
        Returns:
        The closest edge to the given point; null if no edge near the point