void |
S2ShapeUtil.AreaCentroidMeasure.accept(S2Point a,
S2Point b,
S2Point c) |
|
void |
S2ShapeUtil.AreaMeasure.accept(S2Point a,
S2Point b,
S2Point c) |
|
void |
S2ShapeUtil.CentroidMeasure.accept(S2Point a,
S2Point b,
S2Point c) |
|
void |
S2ShapeUtil.TriangleConsumer.accept(S2Point a,
S2Point b,
S2Point c) |
|
S2Point |
S2Point.add(S2Point p) |
Returns add(this,p).
|
static S2Point |
S2Point.add(S2Point p1,
S2Point p2) |
Returns the component-wise addition of 'p1' and 'p2'.
|
S2Point.Builder |
S2Point.Builder.add(S2Point point) |
Adds point.
|
void |
S2PointIndex.add(S2Point point,
Data data) |
|
boolean |
S2PolygonBuilder.addEdge(S2Point v0,
S2Point v1) |
Adds the given edge to the polygon builder and returns true if the edge was actually added to
the edge graph.
|
void |
S2EdgeUtil.XYZPruner.addEdgeToBounds(S2Point from,
S2Point to) |
Accumulate a bounding rectangle from provided edges.
|
void |
S2ContainsVertexQuery.addIncoming(S2Point v) |
Adds an edge from 'v' incoming to 'target'.
|
void |
S2ContainsVertexQuery.addOutgoing(S2Point v) |
Adds an edge outgoing from 'target' to 'v'.
|
S2Cap |
S2Cap.addPoint(S2Point p) |
Increase the cap radius if necessary to include the given point.
|
void |
S2ConvexHullQuery.addPoint(S2Point point) |
Adds a point to the input geometry.
|
void |
S2EdgeUtil.RectBounder.addPoint(S2Point b) |
This method is called to add each vertex to the chain.
|
S2LatLngRect |
S2LatLngRect.addPoint(S2Point p) |
Returns a new rectangle that includes this rectangle and the given point, expanding this
rectangle to include the point by the minimum amount possible.
|
S2LatLngRect.Builder |
S2LatLngRect.Builder.addPoint(S2Point p) |
|
static double |
S2.angle(S2Point a,
S2Point b,
S2Point c) |
Return the angle at the vertex B in the triangle ABC.
|
double |
S2Point.angle(S2Point va) |
Return the angle between two vectors in radians
|
static boolean |
S2.approxEquals(S2Point a,
S2Point b) |
|
static boolean |
S2.approxEquals(S2Point a,
S2Point b,
double maxError) |
Return true if two points are within the given distance of each other (mainly useful for
testing).
|
static double |
S2.area(S2Point a,
S2Point b,
S2Point c) |
Returns the area of triangle ABC.
|
boolean |
S2LatLngRectBase.boundaryIntersects(S2Point v0,
S2Point v1) |
Returns true if the boundary of this rectangle intersects the given geodesic edge (v0, v1).
|
void |
S2EdgeIndex.clipEdge(S2Point a0,
S2Point a1,
boolean addSharedEdges,
Collection<ParametrizedS2Point> intersections) |
Adds points where the edge index intersects the edge [a0, a1] to intersections.
|
static boolean |
S2EdgeUtil.clipToFace(S2Point a,
S2Point b,
int face,
R2Vector aUv,
R2Vector bUv) |
Given an edge AB and a face, return the (u,v) coordinates for the portion of AB that intersects
that face.
|
static boolean |
S2EdgeUtil.clipToPaddedFace(S2Point aXyz,
S2Point bXyz,
int face,
double padding,
R2Vector aUv,
R2Vector bUv) |
As S2EdgeUtil.clipToFace(S2Point, S2Point, int, R2Vector, R2Vector), but rather than clipping to
the square [-1,1]x[-1,1] in (u,v) space, this method clips to [-R,R]x[-R,R] where
R=(1+padding).
|
static int |
S2Predicates.compareDistances(S2Point x,
S2Point a,
S2Point b) |
Returns -1, 0, or +1 according to whether AX < BX, A == B, or AX > BX respectively.
|
static int |
S2Predicates.compareEdgeDistance(S2Point x,
S2Point a,
S2Point b,
double r2) |
Returns -1, 0, or +1 according to whether the distance from the point X to the edge AB is less
than, equal to, or greater than the squared chord distance "r2" respectively.
|
int |
S2Point.compareTo(S2Point other) |
|
boolean |
S2Cap.contains(S2Point p) |
|
boolean |
S2Cell.contains(S2Point p) |
|
boolean |
S2CellUnion.contains(S2Point p) |
The point 'p' does not need to be normalized.
|
boolean |
S2ContainsPointQuery.contains(S2Point p) |
|
boolean |
S2LatLngRectBase.contains(S2Point p) |
The point 'p' does not need to be normalized.
|
boolean |
S2Loop.contains(S2Point p) |
Returns true if the point is contained by the loop.
|
boolean |
S2Point.contains(S2Point other) |
|
boolean |
S2PointRegion.contains(S2Point p) |
|
boolean |
S2Polygon.contains(S2Point p) |
The point p does not need to be normalized.
|
boolean |
S2Polyline.contains(S2Point point) |
|
boolean |
S2Region.contains(S2Point p) |
Returns true if and only if the given point is contained by the region.
|
boolean |
S2RegionIntersection.contains(S2Point point) |
Returns true if all the regions fully contain the point.
|
boolean |
S2RegionUnion.contains(S2Point point) |
Only returns true if one of the regions contains the point.
|
boolean |
S2ShapeIndexRegion.contains(S2Point p) |
Returns true if the given point is contained by any two-dimensional shape (i.e., polygon).
|
static boolean |
S2ShapeUtil.containsBruteForce(S2Shape shape,
S2Point point) |
Returns true if the given shape contains the given point.
|
static S2Shape.ReferencePoint |
S2Shape.ReferencePoint.create(S2Point p,
boolean contained) |
Creates a referenced point at position 'p', with known containment 'contained'.
|
static <Data> S2PointIndex.Entry<Data> |
S2PointIndex.createEntry(S2Point point,
Data data) |
Convenience method to create an index entry from the given point and data value.
|
S2Point |
S2Point.crossProd(S2Point p) |
Returns crossProd(this,p).
|
static S2Point |
S2Point.crossProd(S2Point p1,
S2Point p2) |
Returns the R3 vector cross product of 'p1' and 'p2'.
|
double |
S2Point.crossProdNorm(S2Point va) |
Returns the norm of the cross product, S2Point.crossProd(this, va).norm().
|
static S2Point |
S2Point.div(S2Point p,
double m) |
Returns the component-wise division of 'p' by 'm'.
|
double |
S2Point.dotProd(S2Point that) |
Returns the vector dot product of 'this' with 'that'.
|
static int |
S2Predicates.edgeCircumcenterSign(S2Point p,
S2Point q,
S2Point a,
S2Point b,
S2Point c) |
Returns sign(P, Q, Z) where Z is the circumcenter of triangle ABC.
|
boolean |
S2EdgeUtil.EdgeCrosser.edgeOrVertexCrossing(S2Point d) |
|
boolean |
S2EdgeUtil.EdgeCrosser.edgeOrVertexCrossing(S2Point c,
S2Point d) |
|
static boolean |
S2EdgeUtil.edgeOrVertexCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
A convenience function that calls robustCrossing() to handle cases where all four vertices are
distinct, and VertexCrossing() to handle cases where two or more vertices are the same.
|
boolean |
S2Point.equalsPoint(S2Point that) |
Returns true if this point is equal to that.
|
static int |
S2Predicates.Sign.exact(S2Point a,
S2Point b,
S2Point c,
boolean perturb) |
Computes the determinant using exact arithmetic and/or symbolic permutations.
|
static int |
S2Predicates.Sign.expensive(S2Point a,
S2Point b,
S2Point c,
boolean perturb) |
Returns the sign of the determinant using more expensive techniques.
|
static S2Point |
S2Point.fabs(S2Point p) |
Returns the component-wise absolute point from 'p'.
|
static R2Vector |
S2Projections.faceXyzToUv(int face,
S2Point p) |
If the dot product of p with the given face normal is positive, set the corresponding u and v
values (which may lie outside the range [-1,1]) and return true.
|
static S2Point |
S2Projections.faceXyzToUvw(int face,
S2Point p) |
Returns the given point P transformed to the (u,v,w) coordinate frame of the given face (where
the w-axis represents the face normal).
|
protected void |
S2EdgeIndex.findCandidateCrossings(S2Point a,
S2Point b,
List<Integer> candidateCrossings) |
Appends to "candidateCrossings" all edge references which may cross the given edge.
|
S2ClosestPointQuery.Result<T> |
S2ClosestPointQuery.findClosestPoint(S2Point target) |
|
List<S2ClosestPointQuery.Result<T>> |
S2ClosestPointQuery.findClosestPoints(S2Point target) |
|
void |
S2ClosestPointQuery.findClosestPoints(List<S2ClosestPointQuery.Result<T>> results,
S2Point target) |
|
List<S2ClosestPointQuery.Result<T>> |
S2ClosestPointQuery.findClosestPointsToEdge(S2Point a,
S2Point b) |
Returns the closest points to the given edge AB.
|
void |
S2ClosestPointQuery.findClosestPointsToEdge(List<S2ClosestPointQuery.Result<T>> results,
S2Point a,
S2Point b) |
|
static S2Cap |
S2Cap.fromAxisAngle(S2Point axis,
S1Angle angle) |
Create a cap given its axis and the cap opening angle, i.e.
|
static S2Cap |
S2Cap.fromAxisArea(S2Point axis,
double area) |
Create a cap given its axis and its area in steradians.
|
static S2Cap |
S2Cap.fromAxisChord(S2Point center,
S1ChordAngle radius) |
Creates a cap where the radius is expressed as an S1ChordAngle.
|
static S2Cap |
S2Cap.fromAxisHeight(S2Point axis,
double height) |
Create a cap given its axis and the cap height, i.e.
|
static S2LatLngRect |
S2LatLngRect.fromEdge(S2Point a,
S2Point b) |
Returns a latitude-longitude rectangle that contains the edge from "a" to "b".
|
static S2CellId |
S2CellId.fromPoint(S2Point p) |
Return the leaf cell containing the given point (a direction vector, not necessarily unit
length).
|
S1ChordAngle |
S2Cell.getBoundaryDistance(S2Point target) |
Returns the distance from the cell boundary to the given point.
|
void |
S2EdgeIndex.DataEdgeIterator.getCandidates(S2Point a,
S2Point b) |
Initializes the iterator to iterate over a set of candidates that may cross the edge (a,b).
|
Map<S2Shape,S2EdgeQuery.Edges> |
S2EdgeQuery.getCandidates(S2Point a,
S2Point b) |
Given a query edge AB, returns a map from the indexed shapes to a superset of the edges for
each shape that intersect AB.
|
S2EdgeQuery.Edges |
S2EdgeQuery.getCandidates(S2Point a,
S2Point b,
S2Shape shape) |
Given a query edge AB and a shape shape, returns a superset of the edges of
shape that intersect AB.
|
boolean |
S2EdgeQuery.getCells(S2Point a,
S2Point b,
S2PaddedCell root,
List<S2ShapeIndex.Cell> cells) |
|
static S2Point |
S2EdgeUtil.getClosestPoint(S2Point x,
S2Point a,
S2Point b) |
Returns the point on edge AB closest to X.
|
static S2Point |
S2EdgeUtil.getClosestPoint(S2Point x,
S2Point a,
S2Point b,
S2Point aCrossB) |
|
Iterable<S2Shape> |
S2ContainsPointQuery.getContainingShapes(S2Point p) |
A convenience function that returns all the shapes that contain p.
|
Map<S2Shape,S2EdgeQuery.Edges> |
S2EdgeQuery.getCrossings(S2Point a,
S2Point b) |
Returns edges for each shape that either crosses AB or shares a vertex with AB.
|
S2EdgeQuery.Edges |
S2EdgeQuery.getCrossings(S2Point a,
S2Point b,
S2Shape shape) |
Returns edges from a given shape that either cross AB or share a vertex with AB.
|
S1ChordAngle |
S2Cell.getDistance(S2Point targetXyz) |
Returns the distance from the given point to the cell.
|
static S1ChordAngle |
S2EdgeUtil.getDistance(S2Point p,
S2Edge e) |
Gets the distance from p to e.
|
static S1Angle |
S2EdgeUtil.getDistance(S2Point x,
S2Point a,
S2Point b) |
Return the minimum distance from X to any point on the edge AB.
|
static S1Angle |
S2EdgeUtil.getDistance(S2Point x,
S2Point a,
S2Point b,
S2Point aCrossB) |
A slightly more efficient version of getDistance() where the cross product of the two endpoints
has been precomputed.
|
S1Angle |
S2Loop.getDistance(S2Point p) |
Returns the shortest distance from a point P to this loop, given as the angle formed between P,
the origin and the nearest point on the loop to P.
|
double |
S2Point.getDistance(S2Point that) |
Returns the distance in 3D coordinates from this to that.
|
S1Angle |
S2Polygon.getDistance(S2Point p) |
Returns the shortest distance from a point P to this polygon, given as the angle formed between
P, the origin, and the nearest point on the polygon to P.
|
double |
S2Point.getDistance2(S2Point that) |
Returns the square of the distance in 3D coordinates from this to that.
|
static double |
S2EdgeUtil.getDistanceFraction(S2Point x,
S2Point a0,
S2Point a1) |
Given a point X and an edge AB, return the distance ratio AX / (AX + BX).
|
static double |
S2EdgeUtil.getDistanceRadians(S2Point x,
S2Point a,
S2Point b,
S2Point aCrossB) |
A more efficient version of getDistance() where the cross product of the endpoints has been
precomputed and the result is returned as a direct radian measure rather than wrapping it in an
S1Angle.
|
S1ChordAngle |
S2Cell.getDistanceToEdge(S2Point a,
S2Point b) |
Returns the minimum distance from the cell to the given edge AB, or zero if the edge intersects
the cell interior.
|
static S1ChordAngle |
S2EdgeUtil.getEdgePairDistance(S2Point a0,
S2Point a1,
S2Point b0,
S2Point b1) |
Gets distance between edges with no minimum distance.
|
static S1ChordAngle |
S2EdgeUtil.getEdgePairMaxDistance(S2Point a0,
S2Point a1,
S2Point b0,
S2Point b1,
S1ChordAngle maxDist) |
|
static S1ChordAngle |
S2EdgeUtil.getEdgePairMinDistance(S2Point a0,
S2Point a1,
S2Point b0,
S2Point b1,
S1ChordAngle minDist) |
|
static com.google.common.geometry.Matrix3x3 |
S2.getFrame(S2Point p0) |
Returns a right-handed coordinate frame (three orthonormal vectors) based on a single point,
which will become the third axis.
|
static S2Point |
S2EdgeUtil.getIntersection(S2Point a0,
S2Point a1,
S2Point b0,
S2Point b1) |
Given two edges AB and CD such that robustCrossing() is true, return their intersection point.
|
S1ChordAngle |
S2Cell.getMaxDistance(S2Point target) |
Returns the maximum distance from the cell (including its interior) to the given point.
|
S1ChordAngle |
S2Cell.getMaxDistance(S2Point a,
S2Point b) |
Returns the maximum distance from the cell (including its interior) to the given edge AB.
|
int |
S2Polyline.getNearestEdgeIndex(S2Point point) |
Given a point, returns the index of the start point of the (first) edge on the polyline that is
closest to the given point.
|
static void |
S2RegionCoverer.getSimpleCovering(S2Region region,
S2Point start,
int level,
ArrayList<S2CellId> output) |
Given a connected region and a starting point, return a set of cells at the given level that
cover the region.
|
static S2Predicates.Excluded |
S2Predicates.getVoronoiSiteExclusion(S2Point a,
S2Point b,
S2Point p,
S2Point q,
double r2) |
This is a specialized method that is used to compute the intersection of an edge PQ with the
Voronoi diagram of a set of points, where each Voronoi region is intersected with a disc of
fixed radius "r".
|
static com.google.common.geometry.S2EdgeUtil.WedgeRelation |
S2EdgeUtil.getWedgeRelation(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
Returns the relation from wedge A to B.
|
static double |
S2.girardArea(S2Point a,
S2Point b,
S2Point c) |
Returns the area of the triangle computed using Girard's formula.
|
boolean |
S2PolygonBuilder.hasEdge(S2Point v0,
S2Point v1) |
Returns true if the given directed edge [v0 -> v1] is present in the directed edge graph.
|
void |
S2EdgeUtil.EdgeCrosser.init(S2Point a,
S2Point b) |
|
boolean |
S2Cap.interiorContains(S2Point p) |
Return true if and only if the given point is contained in the interior of the region (i.e.
|
boolean |
S2LatLngRectBase.interiorContains(S2Point p) |
Returns true if and only if the given point is contained in the interior of the region (i.e.
|
static S2Point |
S2EdgeUtil.interpolate(double t,
S2Point a,
S2Point b) |
Return the point X along the line segment AB whose distance from A is the given fraction "t" of
the distance AB.
|
static S2Point |
S2EdgeUtil.interpolateAtDistance(S1Angle ax,
S2Point a,
S2Point b) |
|
static S2Point |
S2EdgeUtil.interpolateAtDistance(S1Angle ax,
S2Point a,
S2Point b,
S1Angle ab) |
|
boolean |
S2Cap.intersects(S2Cell cell,
S2Point[] vertices) |
Return true if the cap intersects 'cell', given that the cap vertices have already been
checked.
|
boolean |
S2EdgeUtil.LongitudePruner.intersects(S2Point v1) |
Returns true if the edge (v0, v1) intersects the given longitude interval, and then saves
'v1' to be used as the next 'v0'.
|
boolean |
S2EdgeUtil.XYZPruner.intersects(S2Point v1) |
Returns true if the edge going from the last point to this point passes through the pruner
bounding box, otherwise returns false.
|
static boolean |
S2LatLngRectBase.intersectsLatEdge(S2Point a,
S2Point b,
double lat,
S1Interval lng) |
Returns true if the edge AB intersects the given edge of constant latitude.
|
static boolean |
S2LatLngRectBase.intersectsLngEdge(S2Point a,
S2Point b,
R1Interval lat,
double lng) |
Returns true if the edge AB intersects the given edge of constant longitude.
|
boolean |
S2Shape.MutableEdge.isEndpoint(S2Point point) |
Returns true iff 'point' is either endpoint of this edge.
|
static boolean |
S2.isUnitLength(S2Point p) |
Return true if the given point is approximately unit length (this is mainly useful for
assertions).
|
static S1Angle |
S2LatLng.latitude(S2Point p) |
|
static boolean |
S2EdgeUtil.lenientCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
Returns true if ab possibly crosses cd, by clipping tiny angles to zero.
|
boolean |
S2Point.lessThan(S2Point vb) |
|
boolean |
S2Iterator.locate(S2Point targetPoint) |
Positions the iterator at the index cell containing "target" and returns true, or if no such
cell exists in the index, the iterator is positioned arbitrarily and this method returns false.
|
static S1Angle |
S2LatLng.longitude(S2Point p) |
|
static S2Loop |
S2Loop.makeRegularLoop(S2Point center,
S1Angle radius,
int numVertices) |
Create a circle of points with a given center, radius, and number of vertices.
|
static List<S2Point> |
S2Loop.makeRegularVertices(S2Point center,
S1Angle radius,
int numVertices) |
|
static S2Point |
S2Point.minus(S2Point p1,
S2Point p2) |
Returns sub(this,p).
|
static S2Point |
S2Point.mul(S2Point p,
double m) |
Returns the component-wise multiplication of 'p' with 'm'.
|
static S2Point |
S2Point.neg(S2Point p) |
Returns the component-wise negation of 'p', i.e.
|
static S2Point |
S2Point.normalize(S2Point p) |
Returns a copy of 'p' rescaled to be unit-length.
|
static boolean |
S2Predicates.orderedCCW(S2Point a,
S2Point b,
S2Point c,
S2Point o) |
Return true if the edges OA, OB, and OC are encountered in that order while sweeping CCW around
the point O.
|
static S2Point |
S2.ortho(S2Point a) |
Returns a unit-length vector that is orthogonal to a.
|
static S2Point |
S2.planarCentroid(S2Point a,
S2Point b,
S2Point c) |
Return the centroid of the planar triangle ABC.
|
S2Point |
S2Polygon.project(S2Point p) |
Returns a point on the polygon that is closest to point P.
|
S2Point |
S2Polyline.project(S2Point queryPoint) |
Returns the point on the polyline closest to queryPoint.
|
S2Point |
S2Polyline.projectToEdge(S2Point point,
int index) |
Given a point p and the index of the start point of an edge of this polyline, returns the point
on that edge that is closest to p.
|
boolean |
S2PointIndex.remove(S2Point point,
Data data) |
|
void |
S2EdgeUtil.EdgeCrosser.restartAt(S2Point c) |
Call this method when your chain 'jumps' to a new place.
|
int |
S2EdgeUtil.EdgeCrosser.robustCrossing(S2Point d) |
|
int |
S2EdgeUtil.EdgeCrosser.robustCrossing(S2Point c,
S2Point d) |
|
static int |
S2EdgeUtil.robustCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
Like SimpleCrossing, except that points that lie exactly on a line are arbitrarily classified
as being on one side or the other (according to the rules of sign).
|
static S2Point |
S2.robustCrossProd(S2Point a,
S2Point b) |
Return a vector "c" that is orthogonal to the given unit-length vectors "a" and "b".
|
S2Point |
S2Point.rotate(S2Point axis,
double radians) |
Rotates this point around an arbitrary axis.
|
static double |
S2Point.scalarTripleProduct(S2Point a,
S2Point b,
S2Point c) |
Returns the scalar triple product, a.dotProd(b.crossProd(c)).
|
void |
S2Shape.MutableEdge.set(S2Point start,
S2Point end) |
|
void |
S2EdgeUtil.XYZPruner.setFirstIntersectPoint(S2Point v0) |
|
boolean |
S2ContainsPointQuery.S2VertexModel.shapeContains(S2Point cellCenter,
S2ShapeIndex.S2ClippedShape clipped,
S2Point p) |
Returns true if the clipped portion of a shape 'clipped' from a cell with center 'cellCenter'
contains the point 'p' according to this vertex model.
|
boolean |
S2ContainsPointQuery.shapeContains(S2Shape shape,
S2Point p) |
|
static int |
S2Predicates.sign(S2Point a,
S2Point b,
S2Point c) |
Returns +1 if the points A, B, C are counterclockwise, -1 if the points are clockwise, and 0 if
any two points are the same.
|
static int |
S2Predicates.Sign.sign(S2Point a,
S2Point b,
S2Point c,
boolean perturb) |
Returns the sign of the turn ABC.
|
static double |
S2.signedArea(S2Point a,
S2Point b,
S2Point c) |
Like area(), but returns a positive value for counterclockwise triangles and a negative value
otherwise.
|
static boolean |
S2.simpleCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
Return true if edge AB crosses CD at a point that is interior to both edges.
|
static boolean |
S2EdgeUtil.simpleCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
Return true if edge AB crosses CD at a point that is interior to both edges.
|
static S2Point.Shape |
S2Point.Shape.singleton(S2Point point) |
|
static int |
S2Predicates.Sign.stable(S2Point a,
S2Point b,
S2Point c) |
Compute the determinant in a numerically stable way.
|
S2Point |
S2Point.sub(S2Point p) |
Returns sub(this,p).
|
static S2Point |
S2Point.sub(S2Point p1,
S2Point p2) |
Returns the component-wise subtraction of 'p1' and 'p2'.
|
int |
S2EdgeUtil.WedgeContains.test(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
Given two edge chains, this function returns +1 if the region to the left of A contains the
region to the left of B, and 0 otherwise.
|
int |
S2EdgeUtil.WedgeContainsOrCrosses.test(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
Given two edge chains (see WedgeRelation above), this function returns +1 if A contains B, 0
if B contains A or the two wedges do not intersect, and -1 if the edge chains A and B cross
each other (i.e.
|
int |
S2EdgeUtil.WedgeContainsOrIntersects.test(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
Given two edge chains (see WedgeRelation above), this function returns +1 if A contains B, 0
if A and B are disjoint, and -1 if A intersects but does not contain B.
|
int |
S2EdgeUtil.WedgeIntersects.test(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
Given two edge chains (see WedgeRelation above), this function returns -1 if the region to
the left of A intersects the region to the left of B, and 0 otherwise.
|
int |
S2EdgeUtil.WedgeProcessor.test(S2Point a0,
S2Point ab1,
S2Point a2,
S2Point b0,
S2Point b2) |
A wedge processor's test method accepts two edge chains A=(a0,a1,a2) and B=(b0,b1,b2) where
a1==b1, and returns either -1, 0, or 1 to indicate the relationship between the region to the
left of A and the region to the left of B.
|
static String |
S2TextFormat.toString(S2Point s2Point) |
Convert an S2Point to the S2TextFormat string representation documented above.
|
static int |
S2Predicates.Sign.triage(S2Point a,
S2Point b,
S2Point c) |
This version of Sign returns +1 if the points are definitely CCW, -1 if they are definitely
CW, and 0 if two points are identical or the result is uncertain.
|
static S2Point |
S2.trueCentroid(S2Point a,
S2Point b) |
Returns the true centroid of the spherical geodesic edge AB multiplied by the length of the
edge AB.
|
static S2Point |
S2.trueCentroid(S2Point a,
S2Point b,
S2Point c) |
Returns the true centroid of the spherical triangle ABC multiplied by the signed area of
spherical triangle ABC.
|
static double |
S2.turnAngle(S2Point a,
S2Point b,
S2Point c) |
Returns the exterior angle at the vertex B in the triangle ABC.
|
double |
S2Polyline.uninterpolate(S2Point queryPoint) |
Projects the query point to the nearest part of the polyline, and returns the fraction of the
polyline's total length traveled along the polyline from vertex 0 to the projected point.
|
static S1ChordAngle |
S2EdgeUtil.updateMaxDistance(S2Point x,
S2Point a,
S2Point b,
S1ChordAngle maxDistance) |
Returns the maximum of the distance from x to any point on edge AB and the given
maxDistance.
|
static S1ChordAngle |
S2EdgeUtil.updateMinDistance(S2Point p,
S2Edge e,
S1ChordAngle minDistance) |
Gets the minimum of the distance from a to e and minDistance.
|
static S1ChordAngle |
S2EdgeUtil.updateMinDistance(S2Point x,
S2Point a,
S2Point b,
S1ChordAngle minDistance) |
Return the minimum of the distance from x to any point on edge ab and the given
minDistance.
|
static R2Vector |
S2Projections.validFaceXyzToUv(int face,
S2Point p) |
Given a *valid* face for the given point p (meaning that dot product of p with the face normal
is positive), return the corresponding u and v values (which may lie outside the range [-1,1]).
|
static boolean |
S2EdgeUtil.vertexCrossing(S2Point a,
S2Point b,
S2Point c,
S2Point d) |
Given two edges AB and CD where at least two vertices are identical (i.e.
|
static int |
S2Projections.xyzToFace(S2Point p) |
Returns the face containing the given direction vector (for points on the boundary between
faces, the result is arbitrary but repeatable.)
|
double |
S2Projections.UvTransform.xyzToU(S2Point p) |
Returns the 'u' coordinate of the [u, v] point projected onto a cube face from the given [x,
y, z] position.
|
double |
S2Projections.UvTransform.xyzToV(S2Point p) |
Returns the 'v' coordinate of the [u, v] point projected onto a cube face from the given [x,
y, z] position.
|