View Javadoc
1   /*
2    * Copyright (c) 2002-2026 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.util.geometry;
16  
17  /**
18   * Simple 2D shape interface.
19   *
20   * @author Ronald Brill
21   */
22  public interface Shape2D {
23  
24      /** Constant used for comparing doubles. */
25      double EPSILON = 0.000_000_1;
26  
27      /**
28       * Returns whether the specified point lies inside this shape.
29       *
30       * @param x the x coordinate of the point to test
31       * @param y the y coordinate of the point to test
32       * @return {@code true} if the point is inside this shape; {@code false} otherwise
33       */
34      boolean contains(double x, double y);
35  
36      /**
37       * Returns whether this shape is empty.
38       *
39       * @return {@code true} if this shape is empty; {@code false} otherwise
40       */
41      boolean isEmpty();
42  }