1 /* File SmoothOrientedCurve2D.java
2 *
3 * Project : javaGeom
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 24 janv. 08
24 */
25
26 package math.geom2d.domain;
27
28 import math.geom2d.AffineTransform2D;
29 import math.geom2d.Box2D;
30 import math.geom2d.curve.Curve2D;
31 import math.geom2d.curve.CurveSet2D;
32 import math.geom2d.curve.SmoothCurve2D;
33
34 /**
35 * Interface for smooth and oriented curves. The aim of this interface is mainly
36 * to specify refinement of method declarations.
37 */
38 public interface SmoothOrientedCurve2D extends SmoothCurve2D,
39 ContinuousOrientedCurve2D {
40
41 public abstract Curve2D getReverseCurve();
42
43 public abstract Curve2D getSubCurve(double t0, double t1);
44
45 public abstract CurveSet2D clip(Box2D box);
46
47 public abstract Curve2D transform(AffineTransform2D trans);
48 }