org.apache.lucene.geo

## Class Line2D

- java.lang.Object
- - org.apache.lucene.geo.Line2D

- All Implemented Interfaces:
    Component2D

      public final class Line2D
      extends Object
      implements Component2D

  2D geo line implementation represented as a balanced interval tree of edges.

  Line `Line2D` Construction takes `O(n log n)` time for sorting and tree construction. `relate()` are `O(n)`, but for most practical lines are much faster than brute force.

  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.lucene.geo.Component2D

      `Component2D.WithinRelation`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `contains(double x, double y)`
    `static Component2D` | `create(Line... lines)` create a Line2D edge tree from provided array of Linestrings
    `static Component2D` | `create(XYLine... lines)` create a Line2D edge tree from provided array of Linestrings
    `double` | `getMaxX()`
    `double` | `getMaxY()`
    `double` | `getMinX()`
    `double` | `getMinY()`
    `PointValues.Relation` | `relate(double minX, double maxX, double minY, double maxY)`
    `PointValues.Relation` | `relateTriangle(double minX, double maxX, double minY, double maxY, double ax, double ay, double bx, double by, double cx, double cy)`
    `Component2D.WithinRelation` | `withinTriangle(double minX, double maxX, double minY, double maxY, double ax, double ay, boolean ab, double bx, double by, boolean bc, double cx, double cy, boolean ca)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.lucene.geo.Component2D

      `containsPoint, disjoint, pointInTriangle, relateTriangle, within, withinTriangle`

- - ### Method Detail

    - #### getMinX

          public double getMinX()

      Specified by:
        `getMinX` in interface `Component2D`

    - #### getMaxX

          public double getMaxX()

      Specified by:
        `getMaxX` in interface `Component2D`

    - #### getMinY

          public double getMinY()

      Specified by:
        `getMinY` in interface `Component2D`

    - #### getMaxY

          public double getMaxY()

      Specified by:
        `getMaxY` in interface `Component2D`

    - #### contains

          public boolean contains(double x,
                                  double y)

      Specified by:
        `contains` in interface `Component2D`

    - #### relate

          public PointValues.Relation relate(double minX,
                                             double maxX,
                                             double minY,
                                             double maxY)

      Specified by:
        `relate` in interface `Component2D`

    - #### relateTriangle

          public PointValues.Relation relateTriangle(double minX,
                                                     double maxX,
                                                     double minY,
                                                     double maxY,
                                                     double ax,
                                                     double ay,
                                                     double bx,
                                                     double by,
                                                     double cx,
                                                     double cy)

      Specified by:
        `relateTriangle` in interface `Component2D`

    - #### withinTriangle

          public Component2D.WithinRelation withinTriangle(double minX,
                                                           double maxX,
                                                           double minY,
                                                           double maxY,
                                                           double ax,
                                                           double ay,
                                                           boolean ab,
                                                           double bx,
                                                           double by,
                                                           boolean bc,
                                                           double cx,
                                                           double cy,
                                                           boolean ca)

      Specified by:
        `withinTriangle` in interface `Component2D`

    - #### create

          public static Component2D create(Line... lines)

      create a Line2D edge tree from provided array of Linestrings

    - #### create

          public static Component2D create(XYLine... lines)

      create a Line2D edge tree from provided array of Linestrings

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.