1 /* file : ContinuousBoundary2D.java 2 * 3 * Project : geometry 4 * 5 * =========================================== 6 * 7 * This library is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU Lesser General Public License as published by 9 * the Free Software Foundation, either version 2.1 of the License, or (at 10 * your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY 14 * or FITNESS FOR A PARTICULAR PURPOSE. 15 * 16 * See the GNU Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License 19 * along with this library. if not, write to : 20 * The Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 * Boston, MA 02111-1307, USA. 22 * 23 * Created on 25 dec. 2006 24 * 25 */ 26 27 package math.geom2d.domain; 28 29 import math.geom2d.AffineTransform2D; 30 import math.geom2d.Box2D; 31 import math.geom2d.curve.ContinuousCurve2D; 32 import math.geom2d.curve.Curve2D; 33 import math.geom2d.curve.CurveSet2D; 34 35 /** 36 * Defines a part of the boundary of a planar domain. A ContinuousBoundary2D is 37 * a continuous, oriented and non self-intersecting curve. 38 * 39 * @author dlegland 40 */ 41 public interface ContinuousOrientedCurve2D extends ContinuousCurve2D, OrientedCurve2D { 42 43 public abstract Curve2D getReverseCurve(); 44 45 public abstract Curve2D getSubCurve(double t0, double t1); 46 47 public abstract Curve2D transform(AffineTransform2D trans); 48 49 public abstract CurveSet2D clip(Box2D box); 50 }