Module org.apache.lucene.spatial3d
Package org.apache.lucene.spatial3d.geom
Class GeoStandardPath.CircleSegmentEndpoint
- java.lang.Object
-
- org.apache.lucene.spatial3d.geom.BasePlanetObject
-
- org.apache.lucene.spatial3d.geom.GeoBaseBounds
-
- org.apache.lucene.spatial3d.geom.GeoStandardPath.BaseSegmentEndpoint
-
- org.apache.lucene.spatial3d.geom.GeoStandardPath.CircleSegmentEndpoint
-
- All Implemented Interfaces:
Bounded
,GeoBounds
,GeoStandardPath.PathComponent
,GeoStandardPath.SegmentEndpoint
,Membership
,PlanetObject
,SerializableObject
- Direct Known Subclasses:
GeoStandardPath.CutoffSingleCircleSegmentEndpoint
- Enclosing class:
- GeoStandardPath
private static class GeoStandardPath.CircleSegmentEndpoint extends GeoStandardPath.BaseSegmentEndpoint
Endpoint that's a simple circle.
-
-
Field Summary
Fields Modifier and Type Field Description protected SidedPlane
circlePlane
A plane describing the circleprotected static GeoPoint[]
circlePoints
No notable points from the circle itself-
Fields inherited from class org.apache.lucene.spatial3d.geom.GeoStandardPath.BaseSegmentEndpoint
NO_MEMBERSHIP, point, previous
-
Fields inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject
planetModel
-
-
Constructor Summary
Constructors Modifier Constructor Description CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, GeoPoint upperPoint, GeoPoint lowerPoint)
CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, Plane normalPlane, GeoPoint upperPoint, GeoPoint lowerPoint)
Constructor for case (1).protected
CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, SidedPlane circlePlane)
Constructor for case (3).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
getBounds(Bounds bounds)
Compute bounds for the shape.boolean
intersects(GeoShape geoShape)
Determine if this endpoint intersects a GeoShape.boolean
intersects(Plane p, XYZBounds planeBounds, GeoPoint[] notablePoints, Membership[] bounds)
Determine if this endpoint intersects a specified plane.boolean
isWithin(double x, double y, double z)
Check if point is within this endpoint.boolean
isWithin(Vector point)
Check if point is within this endpoint.java.lang.String
toString()
-
Methods inherited from class org.apache.lucene.spatial3d.geom.GeoStandardPath.BaseSegmentEndpoint
distance, equals, fullPathDistance, getStartingDistance, hashCode, isWithinSection, isWithinSection, nearestDistance, nearestPathDistance, outsideDistance, pathCenterDistance, pathDeltaDistance, pathDistance
-
Methods inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject
getPlanetModel, write
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.PlanetObject
getPlanetModel
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.SerializableObject
write
-
-
-
-
Field Detail
-
circlePlane
protected final SidedPlane circlePlane
A plane describing the circle
-
circlePoints
protected static final GeoPoint[] circlePoints
No notable points from the circle itself
-
-
Constructor Detail
-
CircleSegmentEndpoint
public CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, GeoPoint upperPoint, GeoPoint lowerPoint)
-
CircleSegmentEndpoint
public CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, Plane normalPlane, GeoPoint upperPoint, GeoPoint lowerPoint)
Constructor for case (1). Generate a simple circle cutoff plane.- Parameters:
planetModel
- is the planet model.point
- is the center point.upperPoint
- is a point that must be on the circle plane.lowerPoint
- is another point that must be on the circle plane.
-
CircleSegmentEndpoint
protected CircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, SidedPlane circlePlane)
Constructor for case (3). Called by superclass only.- Parameters:
point
- is the center point.circlePlane
- is the circle plane.
-
-
Method Detail
-
isWithin
public boolean isWithin(Vector point)
Description copied from interface:GeoStandardPath.PathComponent
Check if point is within this endpoint.- Specified by:
isWithin
in interfaceGeoStandardPath.PathComponent
- Specified by:
isWithin
in interfaceMembership
- Overrides:
isWithin
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
point
- is the point.- Returns:
- true of within.
-
isWithin
public boolean isWithin(double x, double y, double z)
Description copied from interface:GeoStandardPath.PathComponent
Check if point is within this endpoint.- Specified by:
isWithin
in interfaceGeoStandardPath.PathComponent
- Specified by:
isWithin
in interfaceMembership
- Overrides:
isWithin
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
x
- is the point x.y
- is the point y.z
- is the point z.- Returns:
- true of within.
-
intersects
public boolean intersects(Plane p, XYZBounds planeBounds, GeoPoint[] notablePoints, Membership[] bounds)
Description copied from interface:GeoStandardPath.PathComponent
Determine if this endpoint intersects a specified plane.- Specified by:
intersects
in interfaceGeoStandardPath.PathComponent
- Overrides:
intersects
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
p
- is the plane.planeBounds
- are the XYZBounds of the plane we're looking for an intersection with.notablePoints
- are the points associated with the plane.bounds
- are any bounds which the intersection must lie within.- Returns:
- true if there is a matching intersection.
-
intersects
public boolean intersects(GeoShape geoShape)
Description copied from interface:GeoStandardPath.PathComponent
Determine if this endpoint intersects a GeoShape.- Specified by:
intersects
in interfaceGeoStandardPath.PathComponent
- Overrides:
intersects
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
geoShape
- is the GeoShape.- Returns:
- true if there is shape intersect this endpoint.
-
getBounds
public void getBounds(Bounds bounds)
Description copied from interface:Bounded
Compute bounds for the shape.- Specified by:
getBounds
in interfaceBounded
- Specified by:
getBounds
in interfaceGeoStandardPath.PathComponent
- Overrides:
getBounds
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
bounds
- is the input bounds object. The input object will be modified.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classGeoStandardPath.BaseSegmentEndpoint
-
-