com.groupbyinc.flux.common.apache.lucene.spatial3d.geom.Plane.class Maven / Gradle / Ivy
???? 4^ =com/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane >com/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector
Plane.java NO_POINTS C[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; NO_BOUNDS E[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership; normalYPlane ?Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane; normalXPlane normalZPlane D $assertionsDisabled Z (DDDD)V (DDD)V
this A B C F(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;DDD)V
@Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector; BX BY BZ ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;)V #
$ I(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;D)V computeDesiredEllipsoidMagnitude I(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;D)D ' (
) planetModel ELcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel; sinLat (DD)V x y D(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;D)V / 2 0 4 z 6 7 v C(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;Z)V 2 4 7=q???-? java/lang/Math @ nextUp (D)D B C
A D nextDown F C
A G
I basePlane above constructNormalizedZPlane ?([Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane; A[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector; O C(DD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane; M Q
R pointDist point planePoints bestDistance bestPoint constructNormalizedYPlane D(DDD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane; Y Z
[ constructNormalizedXPlane ] Z
^ abs ` C
A a sqrt c C
A d denom DValue evaluate C(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;)D
dotProduct j i
k (DDD)D j m
n evaluateIsZero C(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;)Z h i
r (DDD)Z h m
u normalize A()Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane; B()Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector; w y
z 1
| normVect arcDistance ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)D @com/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint ? ? 2 ? 4 ? 7 ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;DDD[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)D ?
? BLcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; bounds p t
? meetsAllBounds K(DDD[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)Z ? ?
?? Bcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership ? findIntersections(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; ? ?
? Ccom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel ? ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)Z ? ?
? m
? ? theDistance intersectionPoint perpPlane intersectionPoints minDistance normalDistance ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)D K(DDD[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)D ? ?
? dist perpX perpY perpZ normalDistanceSquared ? ?
? normal linearDistance ? ?
? ? m
? ? linearDistanceSquared ? ?
? interpolate ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;[D)[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; magnitude ()D ? ?
? [D ? modify ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;DDDDDDD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector; ? ?
? "java/lang/IllegalArgumentException ? java/lang/StringBuilder ? ()V ?
? ? Start point was not on plane: ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? (D)Ljava/lang/StringBuilder; ? ?
? ? toString ()Ljava/lang/String; ? ?
? ? (Ljava/lang/String;)V ?
? ? End point was not on plane: ? atan2 (DD)D ? ?
A ?@!?TD-@ !?TD- sin ? C
A ? cos ? C
A ?
reverseModify ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;DDDDDDD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; ? ?
? xyDenom cosRA sinRA xyMagnitude cosHA sinHA delta
newStartAngle newAngle sinNewAngle cosNewAngle newVector i I start end proportions transX transY transZ
modifiedStart modifiedEnd
startAngle endAngle startMagnitude newEndAngle returnValues translate E(DDD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;
? rotateXY D(DD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;
rotateXZ
? result isNumericallyIdentical B(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;)Z
S(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; ?"
# q
findCrossings&"
' ):?W??? inverseAbSquared- ?. inverseCSquared0 ?1@ @ isWithin7 t ?8 x0 y0 z0 bound DLcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership; inverse2A t pointX pointY pointZ sqrtTerm t1 t2 point1X point1Y point1Z point2X point2Y point2Z point1Valid point2Valid
moreBounds lineVectorX lineVectorY lineVectorZ denomYZ denomXZ denomXY
BsquaredMinus findIntersectionBounds(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)V recordLineBounds ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;DDDDDD[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)VYZ
[
boundsInfo @Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds; >com/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds_ addPoint ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;ab`c noBound ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;ef`g recordBounds(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/XYZBounds;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)VWX
k CLcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/XYZBounds; p ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/XYZBounds;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)V Acom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/XYZBoundsp isSmallestMinZ H(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;)Zrs
qt
isLargestMaxZvs
qw y pointOnSurface{ q
?| java/lang/AssertionError~
? ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;)Va?
?
? addZValue?b
q? ab? ?? c? ?? isSmallestMinX?s
q?
isLargestMaxX?s
q?? ?? addXValue C(D)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Bounds;??
q? isSmallestMinY?s
q?
isLargestMaxY?s
q? addYValue??
q? normalizedZPlane points l denom0 thePoint m l1 l2 denom1 denom2 thePoint1 thePoint2
sqrtResult commonDenom m1 m2 qSquared a b k abSquared cSquared ASquared BSquared CSquared r rSquared(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/LatLonBounds;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)V FLcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/LatLonBounds; ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/LatLonBounds;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)V Dcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/LatLonBounds? checkNoTopLatitudeBound ()Z??
?? checkNoBottomLatitudeBound??
?? ?
?? checkNoLongitudeBound??
??8uD??-.r
verticalPlane Hdenom y0a y0b x0a x0b z0a z0b
sqrtClause Idenom Cdenom E F G H J7 q ??
intersects?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)Z ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Vector;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)Z ??
?
notablePoints moreNotablePoints findArcDistancePoints(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;DLcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint; java/lang/IllegalStateException? BCan't find arc distance using plane that doesn't go through origin?
? ? p q
? Start point is not on plane? Plane needs to be normalized? (Ljava/lang/Object;)V ?
? Improper sin/cos of altitude: ? Improper sin/cos of azimuth: DRotation should have put startpoint on x-y plane, instead has value createSurfacePoint G(DDD)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;
? arcDistanceValue
startPoint azimuthMagnitude cosPlaneAltitude sinPlaneAltitude cosPlaneAzimuth sinPlaneAzimuth x1 y1 z1 x2 y2 z2 point1Angle point2Angle point1x2 point1y2 point1z2 point2x2 point2y2 point2z2 point1x1 point1y1 point1z1 point2x1 point2y1 point2z1 point1x0 point1y0 point1z0 point2x0 point2y0 point2z0 point1 point2 isPoint1Inside isPoint2Inside ?(DDD[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;[Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Membership;)Z ?-
. getSampleIntersectionPoint ?(Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/PlanetModel;Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/Plane;)Lcom/groupbyinc/flux/common/apache/lucene/spatial3d/geom/GeoPoint;
intersections [A=3 , B=5 ; C=7 ; D=9 ]; equals (Ljava/lang/Object;)Z=>
? o Ljava/lang/Object; other hashCode ()IDE
F java/lang/DoubleH doubleToLongBits (D)JJK
IL temp w x
O java/lang/ClassR desiredAssertionStatusT?
SU
W Code LocalVariableTable LineNumberTable
StackMapTable
SourceFile !
7 Y i *')? *? ? Z 4 [ 0 1 2 Y j *+(? *? ? Z 4 ! " [ =
> ? # Y R *+,? %*? ? Z [ H I J &