pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / contrib / spatial / src / java / org / apache / lucene / spatial / geometry / shape / Geometry2D.java
1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 package org.apache.lucene.spatial.geometry.shape;
19
20
21 /**
22  * Common set of operations available on 2d shapes.
23  *
24  * <p><font color="red"><b>NOTE:</b> This API is still in
25  * flux and might change in incompatible ways in the next
26  * release.</font>
27  */
28 public interface Geometry2D {
29   /**
30    * Translate according to the vector
31    * @param v
32    */
33   public void translate(Vector2D v);
34   
35   /**
36    * Does the shape contain the given point
37    * @param p
38    */
39   public boolean contains(Point2D p);
40   
41   /**
42    * Return the area
43    */
44   public double area();
45   
46   /**
47    * Return the centroid
48    */
49   public Point2D centroid();
50   
51   /**
52    * Returns information about how this shape intersects the given rectangle
53    * @param r
54    */
55   public IntersectCase intersect(Rectangle r);
56
57 }