private boolean intersects ( Point point , int fudge , QuadCurve2D . Float c ) { if ( ! c . intersects ( point . x - fudge , point . y - fudge , fudge << 1 , fudge << 1 ) ) return false ; if ( c . getFlatness ( ) < fudge ) return true ; QuadCurve2D . Float f1 = new QuadCurve2D . Float ( ) , f2 = new QuadCurve2D . Float ( ) ; c . subdivide ( f1 , f2 ) ; return intersects ( point , fudge , f1 ) || intersects ( point , fudge , f2 ) ; }
Checks if something is on the line . If it appears to be then it subdivides the curve into halves and tries again recursively until the flatness of the curve is less than the fudge . Frankly I am a fucking genius . I am one of two people in this department that could have possibly thought of this .