/external/s2-geometry-library-java/tests/com/google/common/geometry/ |
D | S2EdgeUtilTest.java | 39 private void assertCrossing(S2Point a, in assertCrossing() 40 S2Point b, in assertCrossing() 41 S2Point c, in assertCrossing() 42 S2Point d, in assertCrossing() 46 a = S2Point.normalize(a); in assertCrossing() 47 b = S2Point.normalize(b); in assertCrossing() 48 c = S2Point.normalize(c); in assertCrossing() 49 d = S2Point.normalize(d); in assertCrossing() 64 private void assertCrossings(S2Point a, in assertCrossings() 65 S2Point b, in assertCrossings() [all …]
|
D | S2PolylineTest.java | 37 List<S2Point> vertices = Lists.newArrayList(); in testBasic() 50 S2Point x = randomPoint(); in testGetLengthCentroid() 51 S2Point y = S2Point.normalize(S2Point.crossProd(x, randomPoint())); in testGetLengthCentroid() 52 S2Point z = S2Point.normalize(S2Point.crossProd(x, y)); in testGetLengthCentroid() 54 List<S2Point> vertices = Lists.newArrayList(); in testGetLengthCentroid() 56 S2Point p = S2Point.add(S2Point.mul(x, Math.cos(theta)), S2Point.mul(y, Math.sin(theta))); in testGetLengthCentroid() 70 List<S2Point> vertices = Lists.newArrayList(); 71 vertices.add(S2Point.normalize(new S2Point(1, -1.1, 0.8))); 72 vertices.add(S2Point.normalize(new S2Point(1, -0.8, 1.1))); 81 List<S2Point> vertices = Lists.newArrayList(); [all …]
|
D | S2Test.java | 70 S2Point sum = new S2Point(); in testFaceUVtoXYZ() 72 S2Point center = S2Projections.faceUvToXyz(face, 0, 0); in testFaceUVtoXYZ() 75 sum = S2Point.add(sum, S2Point.fabs(center)); in testFaceUVtoXYZ() 77 assertEquals(sum, new S2Point(2, 2, 2)); in testFaceUVtoXYZ() 82 S2Point.crossProd(S2Projections.getUAxis(face), S2Projections.getVAxis(face)).dotProd( in testFaceUVtoXYZ() 103 S2Point.crossProd( in testUVNorms() 107 S2Point.crossProd( in testUVNorms() 117 assertEquals(S2Projections.getUAxis(face), S2Point.sub( in testUVAxes() 119 assertEquals(S2Projections.getVAxis(face), S2Point.sub( in testUVAxes() 125 S2Point pz = new S2Point(0, 0, 1); in testAngleArea() [all …]
|
D | S2LoopTest.java | 113 S2Point mid = S2Point.mul(S2Point.add(arctic80.vertex(0), arctic80.vertex(1)), 0.5); in testBounds() 131 S2Point x = randomPoint(); in testAreaCentroid() 132 S2Point y = S2Point.normalize(S2Point.crossProd(x, randomPoint())); in testAreaCentroid() 133 S2Point z = S2Point.normalize(S2Point.crossProd(x, y)); in testAreaCentroid() 150 List<S2Point> vertices = Lists.newArrayList(); in testAreaCentroid() 153 S2Point xCosThetaCosPhi = S2Point.mul(x, (Math.cos(theta) * Math.cos(phi))); in testAreaCentroid() 154 S2Point ySinThetaCosPhi = S2Point.mul(y, (Math.sin(theta) * Math.cos(phi))); in testAreaCentroid() 155 S2Point zSinPhi = S2Point.mul(z, Math.sin(phi)); in testAreaCentroid() 157 S2Point sum = S2Point.add(S2Point.add(xCosThetaCosPhi, ySinThetaCosPhi), zSinPhi); in testAreaCentroid() 166 S2Point centroid = loop.getCentroid(); in testAreaCentroid() [all …]
|
D | GeometryTestCase.java | 48 public S2Point randomPoint() { 49 return S2Point.normalize(new S2Point( 59 public ImmutableList<S2Point> getRandomFrame() { 60 S2Point p0 = randomPoint(); 61 S2Point p1 = S2Point.normalize(S2Point.crossProd(p0, randomPoint())); 62 S2Point p2 = S2Point.normalize(S2Point.crossProd(p0, p1)); 143 S2Point samplePoint(S2Cap cap) { 147 S2Point z = cap.axis(); 148 S2Point x = z.ortho(); 149 S2Point y = S2Point.crossProd(z, x); [all …]
|
D | S2CapTest.java | 20 public S2Point getLatLngPoint(double latDegrees, double lngDegrees) { in getLatLngPoint() 49 S2Cap xaxis = S2Cap.fromAxisHeight(new S2Point(1, 0, 0), 0); in testBasic() 50 assertTrue(xaxis.contains(new S2Point(1, 0, 0))); in testBasic() 51 assertTrue(!xaxis.contains(new S2Point(1, 1e-20, 0))); in testBasic() 55 S2Cap yaxis = S2Cap.fromAxisAngle(new S2Point(0, 1, 0), S1Angle.radians(0)); in testBasic() 75 S2Cap.fromAxisAngle(S2Point.normalize(new S2Point(1, 2, 3)), S1Angle.radians(kTinyRad)); in testBasic() 76 S2Point tangent = S2Point.normalize(S2Point.crossProd(tiny.axis(), new S2Point(3, 2, 1))); in testBasic() 77 assertTrue(tiny.contains(S2Point.add(tiny.axis(), S2Point.mul(tangent, 0.99 * kTinyRad)))); in testBasic() 78 assertTrue(!tiny.contains(S2Point.add(tiny.axis(), S2Point.mul(tangent, 1.01 * kTinyRad)))); in testBasic() 81 S2Cap hemi = S2Cap.fromAxisHeight(S2Point.normalize(new S2Point(1, 0, 1)), 1); in testBasic() [all …]
|
D | S2PolygonBuilderTest.java | 242 S2Point x, in getVertices() 243 S2Point y, in getVertices() 244 S2Point z, in getVertices() 246 List<S2Point> vertices) { in getVertices() 253 S2Point p = line.vertex(i); in getVertices() 255 S2Point axis = S2Point.normalize( in getVertices() 256 S2Point.add(S2Point.add(S2Point.mul(x, p.x), S2Point.mul(y, p.y)), S2Point.mul(z, p.z))); in getVertices() 307 S2Point p = loop.vertex(j); in findMissingLoops() 316 S2Point x, in addChain() 317 S2Point y, in addChain() [all …]
|
D | S2EdgeIndexTest.java | 48 protected S2Point edgeFrom(int index) { in edgeFrom() 53 protected S2Point edgeTo(int index) { in edgeTo() 63 S2Point edgeCenter = samplePoint(cap); in randomEdgeCrossingCap() 67 S2Point p1 = samplePoint(edgeCap); in randomEdgeCrossingCap() 68 S2Point p2 = samplePoint(edgeCap); in randomEdgeCrossingCap() 153 List<S2Point> ps = Lists.newArrayList(); in testSpecificEdges() 154 ps.add(new S2Point(0.8088625416501157, -0.40633615485481134, 0.4250086092929434)); in testSpecificEdges() 155 ps.add(new S2Point(0.8088939911085784, -0.40631384442755236, 0.4249700824469155)); in testSpecificEdges() 156 ps.add(new S2Point(0.8088088971141814, -0.40642839367135375, 0.425022503835579)); in testSpecificEdges() 157 ps.add(new S2Point(0.8088643962606756, -0.406333410696549, 0.4250077032402616)); in testSpecificEdges() [all …]
|
D | S2CellTest.java | 28 Map<S2Point, Integer> edgeCounts = new HashMap<S2Point, Integer>(); in testFaces() 29 Map<S2Point, Integer> vertexCounts = new HashMap<S2Point, Integer>(); in testFaces() 56 assertDoubleNear(S2Point.normalize( in testFaces() 57 S2Point.crossProd(cell.getVertexRaw(k), cell in testFaces() 125 S2Point mid = S2Point.add(cell.getVertexRaw(i), cell in gatherStats() 135 S2Point.neg(cell.getEdgeRaw(i ^ 2))); in gatherStats() 212 if (cell.contains(new S2Point(0, 0, 1)) in testSubdivide() 213 || cell.contains(new S2Point(0, 0, -1))) { in testSubdivide() 272 S2Point center = S2Projections.getNorm(children[i].face()); in testSubdivide() 273 S2Point edge = S2Point.add(center, S2Projections.getUAxis(children[i].face())); in testSubdivide() [all …]
|
D | S2LatLngRectTest.java | 116 assertTrue(r1.contains(new S2Point(0.5, -0.3, 0.1))); in testBasic() 117 assertTrue(!r1.contains(new S2Point(0.5, 0.2, 0.1))); in testBasic() 172 p = p.addPoint(new S2Point(0, 0, 1)); in testBasic() 200 .getCapBound().approxEquals(S2Cap.fromAxisHeight(new S2Point(1, 0, 0), 0.5))); in testBasic() 203 .getCapBound().approxEquals(S2Cap.fromAxisAngle(new S2Point(0, 0, 1), S1Angle.degrees(2)))); in testBasic() 208 .approxEquals(S2Cap.fromAxisAngle(new S2Point(0, 0, -1), S1Angle.degrees(80)))); in testBasic() 240 S2Cell cell0tr = new S2Cell(new S2Point(1 + 1e-12, 1, 1)); in testBasic() 406 S2Point lng_edge_a[][] = in bruteForceDistance() 408 S2Point lng_edge_b[][] = in bruteForceDistance() 473 S2Point.normalize(new S2Point(x1, y1, z1)), S2Point.normalize(new S2Point(x2, y2, z2))); in getEdgeBound()
|
/external/s2-geometry-library-java/src/com/google/common/geometry/ |
D | S2.java | 229 public static S2Point origin() { in origin() 230 return new S2Point(0, 1, 0); in origin() 237 public static boolean isUnitLength(S2Point p) { in isUnitLength() 248 public static boolean simpleCrossing(S2Point a, S2Point b, S2Point c, S2Point d) { in simpleCrossing() 256 S2Point ab = S2Point.crossProd(a, b); in simpleCrossing() 257 S2Point cd = S2Point.crossProd(c, d); in simpleCrossing() 278 public static S2Point robustCrossProd(S2Point a, S2Point b) { in robustCrossProd() 289 S2Point x = S2Point.crossProd(S2Point.add(b, a), S2Point.sub(b, a)); in robustCrossProd() 290 if (!x.equals(new S2Point(0, 0, 0))) { in robustCrossProd() 303 public static S2Point ortho(S2Point a) { in ortho() [all …]
|
D | S2EdgeUtil.java | 49 private final S2Point a; 50 private final S2Point b; 51 private final S2Point aCrossB; 56 private S2Point c; 65 public EdgeCrosser(S2Point a, S2Point b, S2Point c) { in EdgeCrosser() 68 this.aCrossB = S2Point.crossProd(a, b); in EdgeCrosser() 75 public void restartAt(S2Point c) { in restartAt() 88 public int robustCrossing(S2Point d) { in robustCrossing() 125 public boolean edgeOrVertexCrossing(S2Point d) { in edgeOrVertexCrossing() 127 S2Point c2 = new S2Point(c.get(0), c.get(1), c.get(2)); in edgeOrVertexCrossing() [all …]
|
D | S2Point.java | 24 public strictfp class S2Point implements Comparable<S2Point> { class 30 public S2Point() { in S2Point() method in S2Point 34 public S2Point(double x, double y, double z) { in S2Point() method in S2Point 40 public static S2Point minus(S2Point p1, S2Point p2) { in minus() 44 public static S2Point neg(S2Point p) { in neg() 45 return new S2Point(-p.x, -p.y, -p.z); in neg() 56 public static S2Point crossProd(final S2Point p1, final S2Point p2) { in crossProd() 57 return new S2Point( in crossProd() 61 public static S2Point add(final S2Point p1, final S2Point p2) { in add() 62 return new S2Point(p1.x + p2.x, p1.y + p2.y, p1.z + p2.z); in add() [all …]
|
D | S2Projections.java | 271 public static S2Point faceUvToXyz(int face, double u, double v) { in faceUvToXyz() 274 return new S2Point(1, u, v); in faceUvToXyz() 276 return new S2Point(-u, 1, v); in faceUvToXyz() 278 return new S2Point(-u, -v, 1); in faceUvToXyz() 280 return new S2Point(-1, -v, -u); in faceUvToXyz() 282 return new S2Point(v, -1, -u); in faceUvToXyz() 284 return new S2Point(v, u, -1); in faceUvToXyz() 288 public static R2Vector validFaceXyzToUv(int face, S2Point p) { in validFaceXyzToUv() 321 public static int xyzToFace(S2Point p) { in xyzToFace() 329 public static R2Vector faceXyzToUv(int face, S2Point p) { in faceXyzToUv() [all …]
|
D | S2PolygonBuilder.java | 68 private Map<S2Point, Multiset<S2Point>> edges; 225 public void addEdge(S2Point v0, S2Point v1) { in addEdge() 234 Multiset<S2Point> candidates = edges.get(v1); in addEdge() 242 edges.put(v0, HashMultiset.<S2Point>create()); in addEdge() 248 edges.put(v1, HashMultiset.<S2Point>create()); in addEdge() 311 Map.Entry<S2Point, Multiset<S2Point>> edge = edges.entrySet().iterator().next(); in assembleLoops() 313 S2Point v0 = edge.getKey(); in assembleLoops() 314 S2Point v1 = edge.getValue().iterator().next(); in assembleLoops() 389 protected void dumpEdges(S2Point v0) { in dumpEdges() 391 Multiset<S2Point> vset = edges.get(v0); in dumpEdges() [all …]
|
D | S2EdgeIndex.java | 110 S2Point from = edgeFrom(i); in computeIndex() 111 S2Point to = edgeTo(i); in computeIndex() 221 protected abstract S2Point edgeFrom(int index); in edgeFrom() 223 protected abstract S2Point edgeTo(int index); in edgeTo() 232 protected void findCandidateCrossings(S2Point a, S2Point b, List<Integer> candidateCrossings) { in findCandidateCrossings() 256 private static S2CellId containingCell(S2Point pa, S2Point pb, S2Point pc, S2Point pd) { in containingCell() 279 private static S2CellId containingCell(S2Point pa, S2Point pb) { in containingCell() 306 S2Point a, S2Point b, boolean thickenEdge, ArrayList<S2CellId> edgeCovering) { in getCovering() 328 S2Point pq = S2Point.mul(S2Point.minus(b, a), THICKENING); in getCovering() 329 S2Point ortho = in getCovering() [all …]
|
D | S2Cap.java | 42 private final S2Point axis; 48 axis = new S2Point(); in S2Cap() 52 private S2Cap(S2Point axis, double height) { in S2Cap() 63 public static S2Cap fromAxisHeight(S2Point axis, double height) { in fromAxisHeight() 73 public static S2Cap fromAxisAngle(S2Point axis, S1Angle angle) { in fromAxisAngle() 88 public static S2Cap fromAxisArea(S2Point axis, double area) { in fromAxisArea() 95 return new S2Cap(new S2Point(1, 0, 0), -1); in empty() 100 return new S2Cap(new S2Point(1, 0, 0), 2); in full() 105 public S2Point axis() { in axis() 159 return S2Cap.fromAxisHeight(S2Point.neg(axis), cHeight); in complement() [all …]
|
D | S2LatLngRect.java | 105 public static S2LatLngRect fromEdge(S2Point a, S2Point b) { in fromEdge() 114 S2Point ab = S2.robustCrossProd(a, b); in fromEdge() 115 S2Point dir = S2Point.crossProd(ab, new S2Point(0, 0, 1)); in fromEdge() 246 S2Point lo = S2LatLng.fromRadians(a.lat().lo(), aLng).toPoint(); in getDistance() 247 S2Point hi = S2LatLng.fromRadians(a.lat().hi(), aLng).toPoint(); in getDistance() 248 S2Point loCrossHi = in getDistance() 304 S2Point aLo = new S2LatLng(a.latLo(), aLng).toPoint(); in getDistance() 305 S2Point aHi = new S2LatLng(a.latHi(), aLng).toPoint(); in getDistance() 306 S2Point aLoCrossHi = in getDistance() 308 S2Point bLo = new S2LatLng(b.latLo(), bLng).toPoint(); in getDistance() [all …]
|
D | S2Cell.java | 56 public S2Cell(S2Point p) { in S2Cell() 85 public S2Point getVertex(int k) { in getVertex() 86 return S2Point.normalize(getVertexRaw(k)); in getVertex() 94 public S2Point getVertexRaw(int k) { in getVertexRaw() 99 public S2Point getEdge(int k) { in getEdge() 100 return S2Point.normalize(getEdgeRaw(k)); in getEdge() 103 public S2Point getEdgeRaw(int k) { in getEdgeRaw() 110 return S2Point.neg(S2Projections.getVNorm(face, uv[1][1])); // North in getEdgeRaw() 112 return S2Point.neg(S2Projections.getUNorm(face, uv[0][0])); // West in getEdgeRaw() 167 public S2Point getCenter() { in getCenter() [all …]
|
D | S2Polyline.java | 40 private final S2Point[] vertices; 47 public S2Polyline(List<S2Point> vertices) { in S2Polyline() 50 this.vertices = vertices.toArray(new S2Point[numVertices]); in S2Polyline() 66 public boolean isValid(List<S2Point> vertices) { in isValid() 79 || vertices.get(i - 1).equals(S2Point.neg(vertices.get(i)))) { in isValid() 92 public S2Point vertex(int k) { in vertex() 115 public S2Point interpolate(double fraction) { in interpolate() 134 return S2Point.add(S2Point.mul(vertex(i - 1), (Math.cos(target) - f * Math.cos(length))), in interpolate() 135 S2Point.mul(vertex(i), f)); in interpolate() 191 S2Point[] cellVertices = new S2Point[4]; in mayIntersect() [all …]
|
D | S2Loop.java | 69 private Map<S2Point, Integer> vertexToIndex; 71 private final S2Point[] vertices; 91 public S2Loop(final List<S2Point> vertices) { in S2Loop() 93 this.vertices = new S2Point[numVertices]; in S2Loop() 127 vertices = new S2Point[numVertices]; in S2Loop() 191 public S2Point vertex(int i) { in vertex() 262 S2Point t = vertices[i]; in invert() 282 S2Point centroid = null; in getAreaCentroid() 304 S2Point origin = vertex(0); in getAreaCentroid() 308 new S2Point((axis == 0) ? slightlyDisplaced : origin.x, in getAreaCentroid() [all …]
|
D | S2Polygon.java | 289 S2Point centroidSum = new S2Point(0, 0, 0); in getAreaCentroid() 297 S2Point currentCentroid = areaCentroid.getCentroid(); in getAreaCentroid() 299 new S2Point(centroidSum.x + loopSign * currentCentroid.x, in getAreaCentroid() 332 public S2Point getCentroid() { in getCentroid() 344 public S1Angle getDistance(S2Point p) { in getDistance() 502 public S2Point edgeFrom(int index) { in edgeFrom() 504 S2Point from = fromTo.getStart(); in edgeFrom() 509 protected S2Point edgeTo(int index) { in edgeTo() 511 S2Point to = fromTo.getEnd(); in edgeTo() 550 S2Point from = loop.vertex(fromIndex); in edgeFromTo() [all …]
|
D | S2Edge.java | 26 private final S2Point start; 27 private final S2Point end; 29 public S2Edge(S2Point start, S2Point end) { in S2Edge() 34 public S2Point getStart() { in getStart() 38 public S2Point getEnd() { in getEnd()
|
D | S2AreaCentroid.java | 33 private final S2Point centroid; 35 public S2AreaCentroid(double area, @Nullable S2Point centroid) { in S2AreaCentroid() 44 @Nullable public S2Point getCentroid() { in getCentroid()
|
D | S2LatLng.java | 59 public static S1Angle latitude(S2Point p) { in latitude() 66 public static S1Angle longitude(S2Point p) { in longitude() 101 public S2LatLng(S2Point p) { in S2LatLng() 169 public S2Point toPoint() { in toPoint() 173 return new S2Point(Math.cos(theta) * cosphi, Math.sin(theta) * cosphi, Math.sin(phi)); in toPoint()
|