org.apache.lucene.geo

## Interface Component2D

• All Known Implementing Classes:
Polygon2D

`public interface Component2D`
2D Geometry object that supports spatial relationships with bounding boxes, triangles and points.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
• ### Nested Class Summary

Nested Classes
Modifier and Type Interface and Description
`static class ` `Component2D.WithinRelation`
Used by withinTriangle to check the within relationship between a triangle and the query shape (e.g.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`boolean` ```contains(double x, double y)```
relates this component2D with a point
`static boolean` ```containsPoint(double x, double y, double minX, double maxX, double minY, double maxY)```
returns true if rectangle (defined by minX, maxX, minY, maxY) contains the X Y point
`static boolean` ```disjoint(double minX1, double maxX1, double minY1, double maxY1, double minX2, double maxX2, double minY2, double maxY2)```
Compute whether the bounding boxes are disjoint
`double` `getMaxX()`
max X value for the component
`double` `getMaxY()`
max Y value for the component
`double` `getMinX()`
min X value for the component
`double` `getMinY()`
min Y value for the component
`static boolean` ```pointInTriangle(double minX, double maxX, double minY, double maxY, double x, double y, double aX, double aY, double bX, double bY, double cX, double cY)```
Compute whether the given x, y point is in a triangle; uses the winding order method
`PointValues.Relation` ```relate(double minX, double maxX, double minY, double maxY)```
relates this component2D with a bounding box
`default PointValues.Relation` ```relateTriangle(double aX, double aY, double bX, double bY, double cX, double cY)```
relates this component2D with a triangle
`PointValues.Relation` ```relateTriangle(double minX, double maxX, double minY, double maxY, double aX, double aY, double bX, double bY, double cX, double cY)```
relates this component2D with a triangle
`static boolean` ```within(double minX1, double maxX1, double minY1, double maxY1, double minX2, double maxX2, double minY2, double maxY2)```
Compute whether the first bounding box 1 is within the second bounding box
`default Component2D.WithinRelation` ```withinTriangle(double aX, double aY, boolean ab, double bX, double bY, boolean bc, double cX, double cY, boolean ca)```
Compute the within relation of this component2D with a triangle
`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)```
Compute the within relation of this component2D with a triangle
• ### Method Detail

• #### getMinX

`double getMinX()`
min X value for the component
• #### getMaxX

`double getMaxX()`
max X value for the component
• #### getMinY

`double getMinY()`
min Y value for the component
• #### getMaxY

`double getMaxY()`
max Y value for the component
• #### contains

```boolean contains(double x,
double y)```
relates this component2D with a point
• #### relate

```PointValues.Relation relate(double minX,
double maxX,
double minY,
double maxY)```
relates this component2D with a bounding box
• #### relateTriangle

```PointValues.Relation relateTriangle(double minX,
double maxX,
double minY,
double maxY,
double aX,
double aY,
double bX,
double bY,
double cX,
double cY)```
relates this component2D with a triangle
• #### relateTriangle

```default PointValues.Relation relateTriangle(double aX,
double aY,
double bX,
double bY,
double cX,
double cY)```
relates this component2D with a triangle
• #### withinTriangle

```default Component2D.WithinRelation withinTriangle(double aX,
double aY,
boolean ab,
double bX,
double bY,
boolean bc,
double cX,
double cY,
boolean ca)```
Compute the within relation of this component2D with a triangle
• #### withinTriangle

```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)```
Compute the within relation of this component2D with a triangle
• #### disjoint

```static boolean disjoint(double minX1,
double maxX1,
double minY1,
double maxY1,
double minX2,
double maxX2,
double minY2,
double maxY2)```
Compute whether the bounding boxes are disjoint
• #### within

```static boolean within(double minX1,
double maxX1,
double minY1,
double maxY1,
double minX2,
double maxX2,
double minY2,
double maxY2)```
Compute whether the first bounding box 1 is within the second bounding box
• #### containsPoint

```static boolean containsPoint(double x,
double y,
double minX,
double maxX,
double minY,
double maxY)```
returns true if rectangle (defined by minX, maxX, minY, maxY) contains the X Y point
• #### pointInTriangle

```static boolean pointInTriangle(double minX,
double maxX,
double minY,
double maxY,
double x,
double y,
double aX,
double aY,
double bX,
double bY,
double cX,
double cY)```
Compute whether the given x, y point is in a triangle; uses the winding order method