View Javadoc

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  }