Class Intersections



  • public class Intersections
    extends Object
    A collection of static methods to identify if specific curves intersect each other. All curves are defined in terms of their original bezier control points.
    • Constructor Summary

      Constructors

      Constructor and Description
      Intersections()
       
    • Method Summary

      Methods

      Modifier and Type Method and Description
      static boolean cubicCubic(double x0a, double y0a, double cx0a, double cy0a, double cx1a, double cy1a, double x1a, double y1a, double x0b, double y0b, double cx0b, double cy0b, double cx1b, double cy1b, double x1b, double y1b)
       
      static boolean lineCubic(double x0a, double y0a, double x1a, double y1a, double x0b, double y0b, double cx0b, double cy0b, double cx1b, double cy1b, double x1b, double y1b)
       
      static boolean lineLine(double x0a, double y0a, double x1a, double y1a, double x0b, double y0b, double x1b, double y1b)
       
      protected static boolean linePolygon(double x0, double y0, double x1, double y1, double[] coords, int coordCount)
       
      static boolean lineQuad(double x0a, double y0a, double x1a, double y1a, double x0b, double y0b, double cxb, double cyb, double x1b, double y1b)
       
      protected static boolean polygonContains(double x, double y, double[] coords, int npoints)
      Determines if the specified coordinates are inside this Polygon.
      protected static boolean polygonPolygon(double[] coords1, int coordCount1, double[] coords2, int coordCount2)
       
      static boolean quadCubic(double x0a, double y0a, double cxa, double cya, double x1a, double y1a, double x0b, double y0b, double cx0b, double cy0b, double cx1b, double cy1b, double x1b, double y1b)
       
      static boolean quadQuad(double x0a, double y0a, double cxa, double cya, double x1a, double y1a, double x0b, double y0b, double cxb, double cyb, double x1b, double y1b)
       
    • Constructor Detail

      • Intersections

        public Intersections()
    • Method Detail

      • lineLine

        public static boolean lineLine(double x0a,
                                       double y0a,
                                       double x1a,
                                       double y1a,
                                       double x0b,
                                       double y0b,
                                       double x1b,
                                       double y1b)
      • lineQuad

        public static boolean lineQuad(double x0a,
                                       double y0a,
                                       double x1a,
                                       double y1a,
                                       double x0b,
                                       double y0b,
                                       double cxb,
                                       double cyb,
                                       double x1b,
                                       double y1b)
      • quadQuad

        public static boolean quadQuad(double x0a,
                                       double y0a,
                                       double cxa,
                                       double cya,
                                       double x1a,
                                       double y1a,
                                       double x0b,
                                       double y0b,
                                       double cxb,
                                       double cyb,
                                       double x1b,
                                       double y1b)
      • quadCubic

        public static boolean quadCubic(double x0a,
                                        double y0a,
                                        double cxa,
                                        double cya,
                                        double x1a,
                                        double y1a,
                                        double x0b,
                                        double y0b,
                                        double cx0b,
                                        double cy0b,
                                        double cx1b,
                                        double cy1b,
                                        double x1b,
                                        double y1b)
      • cubicCubic

        public static boolean cubicCubic(double x0a,
                                         double y0a,
                                         double cx0a,
                                         double cy0a,
                                         double cx1a,
                                         double cy1a,
                                         double x1a,
                                         double y1a,
                                         double x0b,
                                         double y0b,
                                         double cx0b,
                                         double cy0b,
                                         double cx1b,
                                         double cy1b,
                                         double x1b,
                                         double y1b)
      • linePolygon

        protected static boolean linePolygon(double x0,
                                             double y0,
                                             double x1,
                                             double y1,
                                             double[] coords,
                                             int coordCount)
      • polygonPolygon

        protected static boolean polygonPolygon(double[] coords1,
                                                int coordCount1,
                                                double[] coords2,
                                                int coordCount2)
      • polygonContains

        protected static boolean polygonContains(double x,
                                                 double y,
                                                 double[] coords,
                                                 int npoints)
        Determines if the specified coordinates are inside this Polygon. For the definition of insideness, see the class comments of Shape.

        Copied form java.awt.Polygon.java.

        Parameters:
        x - the specified x coordinate
        y - the specified y coordinate
        Returns:
        true if the Polygon contains the specified coordinates; false otherwise.
      • lineCubic

        public static boolean lineCubic(double x0a,
                                        double y0a,
                                        double x1a,
                                        double y1a,
                                        double x0b,
                                        double y0b,
                                        double cx0b,
                                        double cy0b,
                                        double cx1b,
                                        double cy1b,
                                        double x1b,
                                        double y1b)