public final class Intersection extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected Double | intersectionLength | 
| protected Vec4 | intersectionPoint | 
| protected Position | intersectionPosition | 
| protected boolean | isTangent | 
| protected Object | object | 
| Constructor and Description | 
|---|
| Intersection(Vec4 intersectionPoint,
            boolean isTangent)Constructs an Intersection from an intersection point and tangency indicator. | 
| Intersection(Vec4 intersectionPoint,
            double intersectionLength,
            boolean isTangent)Constructs an Intersection from an intersection point and tangency indicator. | 
| Intersection(Vec4 intersectionPoint,
            Position intersectionPosition,
            boolean isTangent,
            Object object) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object o) | 
| Double | getIntersectionLength()The parametric length along the intersection geometry. | 
| Vec4 | getIntersectionPoint()Returns the intersection point. | 
| Position | getIntersectionPosition()Returns the intersection position if one has been set. | 
| Object | getObject()Returns the object associated with the intersection. | 
| int | hashCode() | 
| boolean | isTangent()Indicates whether the intersection is tangent to the object intersected. | 
| void | setIntersectionPoint(Vec4 intersectionPoint)Specifies the intersection point. | 
| void | setIntersectionPosition(Position intersectionPosition)Specifies the intersection position, which should be a position computed from the intersection point. | 
| void | setObject(Object object)Specifies the object to associate with the intersection. | 
| void | setTangent(boolean tangent)Specifies whether the intersection is tangent to the object intersected. | 
| static Queue<Intersection> | sort(Vec4 refPoint,
    List<Intersection> listA,
    List<Intersection> listB)Merges two lists of intersections into a single list sorted by intersection distance from a specified reference
 point. | 
| String | toString() | 
protected Double intersectionLength
protected Vec4 intersectionPoint
protected Position intersectionPosition
protected boolean isTangent
protected Object object
public Intersection(Vec4 intersectionPoint, boolean isTangent)
intersectionPoint - the intersection point.isTangent - true if the intersection is tangent to the object intersected, otherwise false.IllegalArgumentException - if intersectionPoint is nullpublic Intersection(Vec4 intersectionPoint, double intersectionLength, boolean isTangent)
intersectionPoint - the intersection pointintersectionLength - the parametric length along the intersection geometry. If the geometry was a line, then
                           this value will be the parametric value of the intersection point along the line.isTangent - true if the intersection is tangent to the object intersected, otherwise false.IllegalArgumentException - if intersectionPoint is nullpublic Double getIntersectionLength()
public Vec4 getIntersectionPoint()
public Position getIntersectionPosition()
public Object getObject()
public boolean isTangent()
public void setIntersectionPoint(Vec4 intersectionPoint)
intersectionPoint - the intersection point. May be null, but typically should not be.public void setIntersectionPosition(Position intersectionPosition)
intersectionPosition - the intersection position. May be null.public void setObject(Object object)
object - the object to associate with the intersection. May be null.public void setTangent(boolean tangent)
tangent - true if the intersection is tangent, otherwise false.public static Queue<Intersection> sort(Vec4 refPoint, List<Intersection> listA, List<Intersection> listB)
refPoint - the reference point.listA - the first list of intersections.listB - the second list of intersections.