public final class Intersection
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.lang.Double |
intersectionLength |
protected Vec4 |
intersectionPoint |
protected Position |
intersectionPosition |
protected boolean |
isTangent |
protected java.lang.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,
java.lang.Object object) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
java.lang.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.
|
java.lang.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(java.lang.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 java.util.Queue<Intersection> |
sort(Vec4 refPoint,
java.util.List<Intersection> listA,
java.util.List<Intersection> listB)
Merges two lists of intersections into a single list sorted by intersection distance from a specified reference
point.
|
java.lang.String |
toString() |
protected java.lang.Double intersectionLength
protected Vec4 intersectionPoint
protected Position intersectionPosition
protected boolean isTangent
protected java.lang.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.java.lang.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.java.lang.IllegalArgumentException
- if intersectionPoint
is nullpublic boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public java.lang.Double getIntersectionLength()
public Vec4 getIntersectionPoint()
public Position getIntersectionPosition()
public java.lang.Object getObject()
public int hashCode()
hashCode
in class java.lang.Object
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(java.lang.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 java.util.Queue<Intersection> sort(Vec4 refPoint, java.util.List<Intersection> listA, java.util.List<Intersection> listB)
refPoint
- the reference point.listA
- the first list of intersections.listB
- the second list of intersections.public java.lang.String toString()
toString
in class java.lang.Object