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.