com.itextpdf.awt.geom.gl

## Class Crossing

• ```public class Crossing
extends Object```
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `Crossing.CubicCurve`
CubicCurve class provides basic functionality to find curve crossing and calculating bounds
`static class ` `Crossing.QuadCurve`
QuadCurve class provides basic functionality to find curve crossing and calculating bounds
• ### Field Summary

Fields
Modifier and Type Field and Description
`static int` `CROSSING`
Rectangle cross segment
• ### Constructor Summary

Constructors
Constructor and Description
`Crossing()`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`static int` `crossCubic(double x1, double y1, double cx1, double cy1, double cx2, double cy2, double x2, double y2, double x, double y)`
Returns how many times ray from point (x,y) cross cubic curve
`static int` `crossLine(double x1, double y1, double x2, double y2, double x, double y)`
Returns how many times ray from point (x,y) cross line.
`static int` `crossPath(PathIterator p, double x, double y)`
Returns how many times ray from point (x,y) cross path
`static int` `crossQuad(double x1, double y1, double cx, double cy, double x2, double y2, double x, double y)`
Returns how many times ray from point (x,y) cross quard curve
`static int` `crossShape(Shape s, double x, double y)`
Returns how many times ray from point (x,y) cross shape
`static int` `intersectCubic(double x1, double y1, double cx1, double cy1, double cx2, double cy2, double x2, double y2, double rx1, double ry1, double rx2, double ry2)`
Returns how many times rectangle stripe cross cubic curve or the are intersect
`static int` `intersectLine(double x1, double y1, double x2, double y2, double rx1, double ry1, double rx2, double ry2)`
Returns how many times rectangle stripe cross line or the are intersect
`static int` `intersectPath(PathIterator p, double x, double y, double w, double h)`
Returns how many times rectangle stripe cross path or the are intersect
`static int` `intersectQuad(double x1, double y1, double cx, double cy, double x2, double y2, double rx1, double ry1, double rx2, double ry2)`
Returns how many times rectangle stripe cross quad curve or the are intersect
`static int` `intersectShape(Shape s, double x, double y, double w, double h)`
Returns how many times rectangle stripe cross shape or the are intersect
`static boolean` `isInsideEvenOdd(int cross)`
Returns true if cross count correspond inside location for even-odd path rule
`static boolean` `isInsideNonZero(int cross)`
Returns true if cross count correspond inside location for non zero path rule
`static boolean` `isZero(double val)`
Returns true if value enough small
`static int` `solveCubic(double[] eqn, double[] res)`
Solves cubic equation
`static int` `solveQuad(double[] eqn, double[] res)`
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Field Detail

• #### CROSSING

`public static final int CROSSING`
Rectangle cross segment
Constant Field Values
• ### Constructor Detail

• #### Crossing

`public Crossing()`
• ### Method Detail

```public static int solveQuad(double[] eqn,
double[] res)```
Parameters:
`eqn` - - the coefficients of the equation
`res` - - the roots of the equation
Returns:
a number of roots
• #### solveCubic

```public static int solveCubic(double[] eqn,
double[] res)```
Solves cubic equation
Parameters:
`eqn` - - the coefficients of the equation
`res` - - the roots of the equation
Returns:
a number of roots
• #### crossLine

```public static int crossLine(double x1,
double y1,
double x2,
double y2,
double x,
double y)```
Returns how many times ray from point (x,y) cross line.

```public static int crossQuad(double x1,
double y1,
double cx,
double cy,
double x2,
double y2,
double x,
double y)```
Returns how many times ray from point (x,y) cross quard curve
• #### crossCubic

```public static int crossCubic(double x1,
double y1,
double cx1,
double cy1,
double cx2,
double cy2,
double x2,
double y2,
double x,
double y)```
Returns how many times ray from point (x,y) cross cubic curve
• #### crossPath

```public static int crossPath(PathIterator p,
double x,
double y)```
Returns how many times ray from point (x,y) cross path
• #### crossShape

```public static int crossShape(Shape s,
double x,
double y)```
Returns how many times ray from point (x,y) cross shape
• #### isZero

`public static boolean isZero(double val)`
Returns true if value enough small
• #### intersectLine

```public static int intersectLine(double x1,
double y1,
double x2,
double y2,
double rx1,
double ry1,
double rx2,
double ry2)```
Returns how many times rectangle stripe cross line or the are intersect

```public static int intersectQuad(double x1,
double y1,
double cx,
double cy,
double x2,
double y2,
double rx1,
double ry1,
double rx2,
double ry2)```
Returns how many times rectangle stripe cross quad curve or the are intersect
• #### intersectCubic

```public static int intersectCubic(double x1,
double y1,
double cx1,
double cy1,
double cx2,
double cy2,
double x2,
double y2,
double rx1,
double ry1,
double rx2,
double ry2)```
Returns how many times rectangle stripe cross cubic curve or the are intersect
• #### intersectPath

```public static int intersectPath(PathIterator p,
double x,
double y,
double w,
double h)```
Returns how many times rectangle stripe cross path or the are intersect
• #### intersectShape

```public static int intersectShape(Shape s,
double x,
double y,
double w,
double h)```
Returns how many times rectangle stripe cross shape or the are intersect
• #### isInsideNonZero

`public static boolean isInsideNonZero(int cross)`
Returns true if cross count correspond inside location for non zero path rule
• #### isInsideEvenOdd

`public static boolean isInsideEvenOdd(int cross)`
Returns true if cross count correspond inside location for even-odd path rule