View Javadoc

1   /*
2    * Copyright (c) 2005, the JUNG Project and the Regents of the University of
3    * California All rights reserved.
4    *
5    * This software is open-source under the BSD license; see either "license.txt"
6    * or http://jung.sourceforge.net/license.txt for a description.
7    *
8    * Created on Apr 16, 2005
9    */
10  
11  package edu.uci.ics.jung.visualization.transform;
12  
13  import java.awt.Shape;
14  import java.awt.geom.Point2D;
15  
16  /**
17   * Provides methods to map points from one coordinate system to
18   * another: graph to screen and screen to graph.
19   * 
20   * @author Tom Nelson 
21   */
22  public interface BidirectionalTransformer {
23      
24      /**
25       * convert the supplied graph coordinate to the 
26       * screen coordinate
27       * @param p graph point to convert
28       * @return screen point
29       */
30      Point2D transform(Point2D p);
31      
32      /**
33       * convert the supplied screen coordinate to the
34       * graph coordinate.
35       * @param p screen point to convert
36       * @return the graph point
37       */
38      Point2D inverseTransform(Point2D p);
39      
40      /**
41       * 
42       * @param shape
43       * @return
44       */
45      Shape transform(Shape shape);
46      
47      /**
48       * 
49       * @param shape
50       * @return
51       */
52      Shape inverseTransform(Shape shape);
53      
54  }