Class RadiusPickSupport<V,​E>

  • All Implemented Interfaces:
    GraphElementAccessor<V,​E>

    public class RadiusPickSupport<V,​E>
    extends RadiusGraphElementAccessor<V,​E>
    implements GraphElementAccessor<V,​E>
    Simple implementation of PickSupport that returns the vertex or edge that is closest to the specified location. This implementation provides the same picking options that were available in previous versions of AbstractLayout.
    Author:
    Tom Nelson, Joshua O'Madadhain
    • Constructor Summary

      Constructors 
      Constructor Description
      RadiusPickSupport()  
      RadiusPickSupport​(double maxDistance)
      Creates an instance with the specified maximum distance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      E getEdge​(Layout<V,​E> layout, double x, double y)
      Gets the edge nearest to the location of the (x,y) location selected.
      E getEdge​(Layout<V,​E> layout, double x, double y, double maxDistance)
      Gets the edge nearest to the location of the (x,y) location selected, within a distance of maxDistance, Iterates through all visible edges and checks their distance from the click.
      V getVertex​(Layout<V,​E> layout, double x, double y)
      Gets the vertex nearest to the location of the (x,y) location selected, within a distance of maxDistance.
      V getVertex​(Layout<V,​E> layout, double x, double y, double maxDistance)
      Gets the vertex nearest to the location of the (x,y) location selected, within a distance of maxDistance.
      • Methods inherited from class java.lang.Object

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

      • RadiusPickSupport

        public RadiusPickSupport()
      • RadiusPickSupport

        public RadiusPickSupport​(double maxDistance)
        Creates an instance with the specified maximum distance.
        Parameters:
        maxDistance - the farthest that a vertex can be from the selection point and still be 'picked'
    • Method Detail

      • getVertex

        public V getVertex​(Layout<V,​E> layout,
                           double x,
                           double y)
        Gets the vertex nearest to the location of the (x,y) location selected, within a distance of maxDistance. Iterates through all visible vertices and checks their distance from the click. Override this method to provide a more efficient implementation.
        Specified by:
        getVertex in interface GraphElementAccessor<V,​E>
        Overrides:
        getVertex in class RadiusGraphElementAccessor<V,​E>
        Parameters:
        layout - the context in which the location is defined
        x - the x coordinate of the location
        y - the y coordinate of the location
        Returns:
        a vertex which is associated with the location (x,y) as given by layout
      • getVertex

        public V getVertex​(Layout<V,​E> layout,
                           double x,
                           double y,
                           double maxDistance)
        Gets the vertex nearest to the location of the (x,y) location selected, within a distance of maxDistance. Iterates through all visible vertices and checks their distance from the click. Override this method to provide a more efficient implementation.
        Overrides:
        getVertex in class RadiusGraphElementAccessor<V,​E>
        Parameters:
        layout - the layout instance that records the positions for all vertices
        x - the x coordinate of the pick point
        y - the y coordinate of the pick point
        maxDistance - vertices whose from (x, y) is > this cannot be returned
        Returns:
        the vertex whose center is closest to the pick point (x, y)
      • getEdge

        public E getEdge​(Layout<V,​E> layout,
                         double x,
                         double y)
        Gets the edge nearest to the location of the (x,y) location selected. Calls the longer form of the call.
        Specified by:
        getEdge in interface GraphElementAccessor<V,​E>
        Overrides:
        getEdge in class RadiusGraphElementAccessor<V,​E>
        Parameters:
        layout - the layout instance that records the positions for all vertices
        x - the x coordinate of the pick point
        y - the y coordinate of the pick point
        Returns:
        the vertex whose center is closest to the pick point (x, y)
      • getEdge

        public E getEdge​(Layout<V,​E> layout,
                         double x,
                         double y,
                         double maxDistance)
        Gets the edge nearest to the location of the (x,y) location selected, within a distance of maxDistance, Iterates through all visible edges and checks their distance from the click. Override this method to provide a more efficient implementation.
        Overrides:
        getEdge in class RadiusGraphElementAccessor<V,​E>
        Parameters:
        x - the x coordinate of the pick point
        y - the y coordinate of the pick point
        maxDistance - vertices whose from (x, y) is > this cannot be returned
        layout - the context in which the location is defined
        Returns:
        Edge closest to the click.