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.