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 }