GraphElementAccessor.java :  » Science » jung-2-2_0_1 » edu » uci » ics » jung » algorithms » layout » Java Open Source

Java Open Source » Science » jung 2 2_0_1 
jung 2 2_0_1 » edu » uci » ics » jung » algorithms » layout » GraphElementAccessor.java
/*
 * Copyright (c) 2005, the JUNG Project and the Regents of the University of
 * California All rights reserved.
 * 
 * This software is open-source under the BSD license; see either "license.txt"
 * or http://jung.sourceforge.net/license.txt for a description.
 * 
 *
 * Created on Apr 12, 2005
 */
package edu.uci.ics.jung.algorithms.layout;

import java.awt.Shape;
import java.util.Collection;

/**
 * Interface for coordinate-based selection of graph components.
 * @author Tom Nelson
 * @author Joshua O'Madadhain
 */
public interface GraphElementAccessor<V, E>
{
    /**
     * Returns a vertex which is associated with the 
     * location <code>(x,y)</code>.  This is typically determined
     * with respect to the vertex's location as specified
     * by a <code>Layout</code>.
     */
    V getVertex(Layout<V,E> layout, double x, double y);
    
    /**
     * Returns the vertices contained within {@code rectangle} relative
     * to {@code layout}.
     */
    Collection<V> getVertices(Layout<V,E> layout, Shape rectangle);

    /**
     * Returns an edge which is associated with the 
     * location <code>(x,y)</code>.  This is typically determined
     * with respect to the edge's location as specified
     * by a {@code Layout}.
     */
    E getEdge(Layout<V,E> layout, double x, double y);

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.