Interface GeoStandardPath.SegmentEndpoint

  • All Known Implementing Classes:
    GeoStandardPath.BaseSegmentEndpoint, GeoStandardPath.CircleSegmentEndpoint, GeoStandardPath.CutoffDualCircleSegmentEndpoint, GeoStandardPath.CutoffSingleCircleSegmentEndpoint
    Enclosing class:
    GeoStandardPath

    private static interface GeoStandardPath.SegmentEndpoint
    Internal interface describing segment endpoint implementations. There are several different such implementations, each corresponding to a different geometric conformation. Note well: This is not necessarily a circle. There are four cases: (1) The path consists of a single endpoint. In this case, we build a simple circle with the proper cutoff offset. (2) This is the end of a path. The circle plane must be constructed to go through two supplied points and be perpendicular to a connecting plane. (2.5) Intersection, but the path on both sides is linear. We generate a circle, but we use the cutoff planes to limit its influence in the straight line case. (3) This is an intersection in a path. We are supplied FOUR planes. If there are intersections within bounds for both upper and lower, then we generate no circle at all. If there is one intersection only, then we generate a plane that includes that intersection, as well as the remaining cutoff plane/edge plane points.
    • Method Detail

      • isWithin

        boolean isWithin​(Vector point)
        Check if point is within this endpoint.
        Parameters:
        point - is the point.
        Returns:
        true of within.
      • isWithin

        boolean isWithin​(double x,
                         double y,
                         double z)
        Check if point is within this endpoint.
        Parameters:
        x - is the point x.
        y - is the point y.
        z - is the point z.
        Returns:
        true of within.
      • pathDeltaDistance

        double pathDeltaDistance​(DistanceStyle distanceStyle,
                                 double x,
                                 double y,
                                 double z)
        Compute delta path distance.
        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.
      • pathDistance

        double pathDistance​(DistanceStyle distanceStyle,
                            double x,
                            double y,
                            double z)
        Compute interior path distance.
        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.
      • nearestPathDistance

        double nearestPathDistance​(DistanceStyle distanceStyle,
                                   double x,
                                   double y,
                                   double z)
        Compute nearest path distance.
        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 (always value zero), in aggregation form, or POSITIVE_INFINITY if the point is not within the bounds of the endpoint.
      • pathCenterDistance

        double pathCenterDistance​(DistanceStyle distanceStyle,
                                  double x,
                                  double y,
                                  double z)
        Compute path center distance.
        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 endpoint.
      • outsideDistance

        double outsideDistance​(DistanceStyle distanceStyle,
                               double x,
                               double y,
                               double z)
        Compute external distance.
        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.
      • intersects

        boolean intersects​(PlanetModel planetModel,
                           Plane p,
                           GeoPoint[] notablePoints,
                           Membership[] bounds)
        Determine if this endpoint intersects a specified plane.
        Parameters:
        planetModel - is the planet model.
        p - is the plane.
        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

        boolean intersects​(GeoShape geoShape)
        Determine if this endpoint intersects a GeoShape.
        Parameters:
        geoShape - is the GeoShape.
        Returns:
        true if there is shape intersect this endpoint.
      • getBounds

        void getBounds​(PlanetModel planetModel,
                       Bounds bounds)
        Get the bounds for a segment endpoint.
        Parameters:
        planetModel - is the planet model.
        bounds - are the bounds to be modified.