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 }