mirror of https://github.com/apache/lucene.git
LUCENE-6196: Mark @lucene.experimental or @lucene.internal
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene6196@1677658 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9f8f7feec6
commit
4c51278f86
|
@ -29,7 +29,11 @@ import org.apache.lucene.spatial.spatial4j.geo3d.GeoAreaFactory;
|
|||
import org.apache.lucene.spatial.spatial4j.geo3d.GeoPoint;
|
||||
import org.apache.lucene.spatial.spatial4j.geo3d.GeoShape;
|
||||
|
||||
/** A 3D planar geometry based Spatial4j Shape implementation. */
|
||||
/**
|
||||
* A 3D planar geometry based Spatial4j Shape implementation.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class Geo3dShape implements Shape {
|
||||
|
||||
public final SpatialContext ctx;
|
||||
|
|
|
@ -27,6 +27,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* (3) No lower latitude bound possible
|
||||
* When any of these have been applied, further application of
|
||||
* points cannot override that decision.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class Bounds {
|
||||
protected boolean noLongitudeBound = false;
|
||||
|
|
|
@ -22,6 +22,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* be bounded in latitude, or bounded in both latitude and longitude, or not
|
||||
* bounded at all. The purpose of the interface is to describe bounding shapes used for
|
||||
* computation of geo hashes.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoArea extends Membership {
|
||||
// Since we don't know what each GeoArea's constraints are,
|
||||
|
|
|
@ -17,7 +17,11 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** Factory for {@link org.apache.lucene.spatial.spatial4j.geo3d.GeoArea}. */
|
||||
/**
|
||||
* Factory for {@link org.apache.lucene.spatial.spatial4j.geo3d.GeoArea}.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoAreaFactory {
|
||||
private GeoAreaFactory() {
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* All bounding box shapes have this interface in common.
|
||||
* This describes methods that bounding boxes have above and beyond
|
||||
* GeoMembershipShape's.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoBBox extends GeoMembershipShape, GeoSizeable, GeoArea {
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* All bounding box shapes can derive from this base class, which furnishes
|
||||
* some common code
|
||||
*
|
||||
* @lucene.external
|
||||
*/
|
||||
public abstract class GeoBBoxBase implements GeoBBox {
|
||||
|
||||
|
|
|
@ -17,7 +17,11 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** Factory for {@link org.apache.lucene.spatial.spatial4j.geo3d.GeoBBox}. */
|
||||
/**
|
||||
* Factory for {@link org.apache.lucene.spatial.spatial4j.geo3d.GeoBBox}.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoBBoxFactory {
|
||||
private GeoBBoxFactory() {
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Base extended shape object.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public abstract class GeoBaseExtendedShape implements GeoShape {
|
||||
protected final static GeoPoint NORTH_POLE = new GeoPoint(0.0, 0.0, 1.0);
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Circular area with a center and radius.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoCircle extends GeoBaseExtendedShape implements GeoDistanceShape, GeoSizeable {
|
||||
public final GeoPoint center;
|
||||
|
|
|
@ -22,6 +22,8 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* GeoComposite is a set of GeoMembershipShape's, treated as a unit.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoCompositeMembershipShape implements GeoMembershipShape {
|
||||
protected final List<GeoMembershipShape> shapes = new ArrayList<GeoMembershipShape>();
|
||||
|
|
|
@ -26,6 +26,8 @@ import java.util.List;
|
|||
* The only restrictions on these objects are: (1) they must be convex; (2) they must have
|
||||
* a maximum extent no larger than PI. Violating either one of these limits will
|
||||
* cause the logic to fail.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoConvexPolygon extends GeoBaseExtendedShape implements GeoMembershipShape {
|
||||
protected final List<GeoPoint> points;
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* Degenerate bounding box limited on two sides (left lon, right lon).
|
||||
* The left-right maximum extent for this shape is PI; for anything larger, use
|
||||
* GeoWideDegenerateHorizontalLine.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoDegenerateHorizontalLine extends GeoBBoxBase {
|
||||
public final double latitude;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* This GeoBBox represents an area rectangle of one specific latitude with
|
||||
* no longitude bounds.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoDegenerateLatitudeZone extends GeoBBoxBase {
|
||||
public final double latitude;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Degenerate longitude slice.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoDegenerateLongitudeSlice extends GeoBBoxBase {
|
||||
public final double longitude;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* This class represents a degenerate point bounding box.
|
||||
* It is not a simple GeoPoint because we must have the latitude and longitude.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoDegeneratePoint extends GeoPoint implements GeoBBox {
|
||||
public final double latitude;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Degenerate bounding box limited on two sides (top lat, bottom lat).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoDegenerateVerticalLine extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -22,6 +22,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* of this interface is capable of computing the described "distance" values,
|
||||
* which are meant to provide both actual distance values, as well as
|
||||
* distance estimates that can be computed more cheaply.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoDistance extends Membership {
|
||||
/**
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Distance shapes have capabilities of both geohashing and distance
|
||||
* computation (which also includes point membership determination).
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoDistanceShape extends GeoMembershipShape, GeoDistance {
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* This GeoBBox represents an area rectangle limited only in latitude.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoLatitudeZone extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* Bounding box limited on left and right.
|
||||
* The left-right maximum extent for this shape is PI; for anything larger, use
|
||||
* GeoWideLongitudeSlice.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoLongitudeSlice extends GeoBBoxBase {
|
||||
public final double leftLon;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Membership shapes have capabilities of both geohashing and membership
|
||||
* determination.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoMembershipShape extends GeoShape, Membership {
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* This GeoBBox represents an area rectangle limited only in south latitude.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoNorthLatitudeZone extends GeoBBoxBase {
|
||||
public final double bottomLat;
|
||||
|
|
|
@ -22,6 +22,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* the north pole.
|
||||
* The left-right maximum extent for this shape is PI; for anything larger, use
|
||||
* GeoWideNorthRectangle.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoNorthRectangle extends GeoBBoxBase {
|
||||
public final double bottomLat;
|
||||
|
|
|
@ -25,6 +25,8 @@ import java.util.List;
|
|||
* with a specified half-width. Path is described by a series of points.
|
||||
* Distances are measured from the starting point along the path, and then at right
|
||||
* angles to the path.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoPath extends GeoBaseExtendedShape implements GeoDistanceShape {
|
||||
public final double cutoffAngle;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* This class represents a point on the surface of a unit sphere.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoPoint extends Vector {
|
||||
public GeoPoint(final double sinLat, final double sinLon, final double cosLat, final double cosLon) {
|
||||
|
|
|
@ -23,6 +23,8 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* Class which constructs a GeoMembershipShape representing an arbitrary polygon.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class GeoPolygonFactory {
|
||||
private GeoPolygonFactory() {
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* Bounding box limited on four sides (top lat, bottom lat, left lon, right lon).
|
||||
* The left-right maximum extent for this shape is PI; for anything larger, use
|
||||
* GeoWideRectangle.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoRectangle extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* Generic shape. This describes methods that help GeoAreas figure out
|
||||
* how they interact with a shape, for the purposes of coming up with a
|
||||
* set of geo hash values.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoShape extends Membership {
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Some shapes can compute radii of a geocircle in which they are inscribed.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface GeoSizeable {
|
||||
/**
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* This GeoBBox represents an area rectangle limited only in north latitude.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoSouthLatitudeZone extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -22,6 +22,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
* other corner is the south pole.
|
||||
* The left-right maximum extent for this shape is PI; for anything larger, use
|
||||
* GeoWideSouthRectangle.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoSouthRectangle extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Degenerate bounding box wider than PI and limited on two sides (left lon, right lon).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWideDegenerateHorizontalLine extends GeoBBoxBase {
|
||||
public final double latitude;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Bounding box wider than PI but limited on left and right sides (
|
||||
* left lon, right lon).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWideLongitudeSlice extends GeoBBoxBase {
|
||||
public final double leftLon;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Bounding box wider than PI but limited on three sides (
|
||||
* bottom lat, left lon, right lon).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWideNorthRectangle extends GeoBBoxBase {
|
||||
public final double bottomLat;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Bounding box wider than PI but limited on four sides (top lat,
|
||||
* bottom lat, left lon, right lon).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWideRectangle extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Bounding box wider than PI but limited on three sides (top lat,
|
||||
* left lon, right lon).
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWideSouthRectangle extends GeoBBoxBase {
|
||||
public final double topLat;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Bounding box including the entire world.
|
||||
*
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class GeoWorld extends GeoBBoxBase {
|
||||
protected final static GeoPoint originPoint = new GeoPoint(1.0, 0.0, 0.0);
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Interface describing 3d shape membership methods.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public interface Membership {
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* We know about three kinds of planes. First kind: general plain through two points and origin
|
||||
* Second kind: horizontal plane at specified height. Third kind: vertical plane with specified x and y value, through origin.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class Plane extends Vector {
|
||||
protected final static GeoPoint[] NO_POINTS = new GeoPoint[0];
|
||||
|
@ -112,7 +114,7 @@ public class Plane extends Vector {
|
|||
/**
|
||||
* Evaluate the plane equation for a given point, as represented
|
||||
* by a vector.
|
||||
*
|
||||
*
|
||||
* @return true if the result is on the plane.
|
||||
*/
|
||||
public boolean evaluateIsZero(final double x, final double y, final double z) {
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* Combination of a plane, and a sign value indicating what evaluation values are on the correct
|
||||
* side of the plane.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class SidedPlane extends Plane implements Membership {
|
||||
public final double sigNum;
|
||||
|
|
|
@ -19,6 +19,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
|
||||
/**
|
||||
* Static methods globally useful for 3d geometric work.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class Tools {
|
||||
private Tools() {
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.lucene.spatial.spatial4j.geo3d;
|
|||
/**
|
||||
* A 3d vector in space, not necessarily
|
||||
* going through the origin.
|
||||
*
|
||||
* @lucene.experimental
|
||||
*/
|
||||
public class Vector {
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue