View Javadoc

1   /**
2    * File: 	CirculinearShape2D.java
3    * Project: javaGeom
4    * 
5    * Distributed under the LGPL License.
6    *
7    * Created: 10 mai 09
8    */
9   package math.geom2d.circulinear;
10  
11  import math.geom2d.Shape2D;
12  import math.geom2d.transform.CircleInversion2D;
13  
14  
15  /**
16   * CirculinearShape comprises shapes which can be described from lines (or
17   * linear shapes) and circles (or circle arcs). They allow several operations:
18   * the computation of buffer (set of points located less than a given
19   * distance), and transformation using a circle inversion.
20   * @author dlegland
21   *
22   */
23  public interface CirculinearShape2D extends Shape2D {
24  
25  	/**
26  	 * Computes the buffer of the shape, formed by the set of points located
27  	 * at a distance from the shape that is lower or equal to d.
28  	 * @param dist the maximal distance between a point of the buffer and the
29  	 * 		shape
30  	 * @return the buffer of the shape
31  	 */
32  	public CirculinearDomain2D getBuffer(double dist);
33  	
34  	/**
35  	 * Transforms the shape by a circle inversion. The result is still an
36  	 * instance a CirculinearShape2D.
37  	 * @param inv the circle inversion
38  	 * @return the transformed shape
39  	 */
40  	public Shape2D transform(CircleInversion2D inv);
41  }