Module org.apache.lucene.spatial3d
Package org.apache.lucene.spatial3d.geom
Class GeoStandardPath.CutoffSingleCircleSegmentEndpoint
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
org.apache.lucene.spatial3d.geom.GeoStandardPath.CutoffSingleCircleSegmentEndpoint
- All Implemented Interfaces:
Bounded
,GeoBounds
,GeoStandardPath.PathComponent
,GeoStandardPath.SegmentEndpoint
,Membership
,PlanetObject
,SerializableObject
- Enclosing class:
- GeoStandardPath
private static class GeoStandardPath.CutoffSingleCircleSegmentEndpoint
extends GeoStandardPath.CircleSegmentEndpoint
Endpoint that's a single circle with cutoff(s).
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SidedPlane
protected final Membership[]
Pertinent cutoff plane from adjoining segmentsprivate final GeoPoint[]
Notable points for this segment endpointFields inherited from class org.apache.lucene.spatial3d.geom.GeoStandardPath.CircleSegmentEndpoint
circlePlane, circlePoints
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
ConstructorsConstructorDescriptionCutoffSingleCircleSegmentEndpoint
(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, SidedPlane cutoffPlane, GeoPoint topEdgePoint, GeoPoint bottomEdgePoint) Constructor for case (2). -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
Check if point is within this endpoint.boolean
isWithinSection
(double x, double y, double z) Check if point is within this section (within cutoff planes).boolean
isWithinSection
(Vector point) Check if point is within this section (within cutoff planes).double
nearestPathDistance
(DistanceStyle distanceStyle, double x, double y, double z) Compute nearest path distance (distance from start of segment to point adjacent the one specitied, if reachable by this segment).double
pathCenterDistance
(DistanceStyle distanceStyle, double x, double y, double z) Compute path center distance (distance from the point to center of the path, if reachable by this segment).toString()
Methods inherited from class org.apache.lucene.spatial3d.geom.GeoStandardPath.BaseSegmentEndpoint
distance, equals, fullPathDistance, getStartingDistance, hashCode, nearestDistance, outsideDistance, 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 Details
-
cutoffPlanes
Pertinent cutoff plane from adjoining segments -
notablePoints
Notable points for this segment endpoint -
cutoffPlane
-
-
Constructor Details
-
CutoffSingleCircleSegmentEndpoint
public CutoffSingleCircleSegmentEndpoint(PlanetModel planetModel, GeoStandardPath.PathComponent previous, GeoPoint point, SidedPlane cutoffPlane, GeoPoint topEdgePoint, GeoPoint bottomEdgePoint) Constructor for case (2). Generate an endpoint, given a single cutoff plane plus upper and lower edge points.- Parameters:
planetModel
- is the planet model.point
- is the center point.cutoffPlane
- is the plane from the adjoining path segment marking the boundary between this endpoint and that segment.topEdgePoint
- is a point on the cutoffPlane that should be also on the circle plane.bottomEdgePoint
- is another point on the cutoffPlane that should be also on the circle plane.
-
-
Method Details
-
isWithin
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.CircleSegmentEndpoint
- 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.CircleSegmentEndpoint
- Parameters:
x
- is the point x.y
- is the point y.z
- is the point z.- Returns:
- true of within.
-
isWithinSection
Description copied from interface:GeoStandardPath.PathComponent
Check if point is within this section (within cutoff planes).- Specified by:
isWithinSection
in interfaceGeoStandardPath.PathComponent
- Overrides:
isWithinSection
in classGeoStandardPath.BaseSegmentEndpoint
-
isWithinSection
public boolean isWithinSection(double x, double y, double z) Description copied from interface:GeoStandardPath.PathComponent
Check if point is within this section (within cutoff planes).- Specified by:
isWithinSection
in interfaceGeoStandardPath.PathComponent
- Overrides:
isWithinSection
in classGeoStandardPath.BaseSegmentEndpoint
-
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.CircleSegmentEndpoint
- 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
Description copied from interface:GeoStandardPath.PathComponent
Determine if this endpoint intersects a GeoShape.- Specified by:
intersects
in interfaceGeoStandardPath.PathComponent
- Overrides:
intersects
in classGeoStandardPath.CircleSegmentEndpoint
- Parameters:
geoShape
- is the GeoShape.- Returns:
- true if there is shape intersect this endpoint.
-
nearestPathDistance
Description copied from interface:GeoStandardPath.PathComponent
Compute nearest path distance (distance from start of segment to point adjacent the one specitied, if reachable by this segment).- Specified by:
nearestPathDistance
in interfaceGeoStandardPath.PathComponent
- Overrides:
nearestPathDistance
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
distanceStyle
- is the distance style.x
- is the point x.y
- is the point y.z
- is the point z.- Returns:
- the distance metric, in aggregation form.
-
pathCenterDistance
Description copied from interface:GeoStandardPath.PathComponent
Compute path center distance (distance from the point to center of the path, if reachable by this segment).- Specified by:
pathCenterDistance
in interfaceGeoStandardPath.PathComponent
- Overrides:
pathCenterDistance
in classGeoStandardPath.BaseSegmentEndpoint
- Parameters:
distanceStyle
- is the distance style.x
- is the point x.y
- is the point y.z
- is the point z.- Returns:
- the distance metric, or POSITIVE_INFINITY if the point is not within the bounds of the path segment.
-
getBounds
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.CircleSegmentEndpoint
- Parameters:
bounds
- is the input bounds object. The input object will be modified.
-
toString
- Overrides:
toString
in classGeoStandardPath.CircleSegmentEndpoint
-