NASA World Wind

gov.nasa.worldwind.geom
Class Intersection

java.lang.Object
  extended by gov.nasa.worldwind.geom.Intersection

public final class Intersection
extends Object


Field Summary
protected  Double intersectionLength
           
protected  Vec4 intersectionPoint
           
protected  Position intersectionPosition
           
protected  boolean isTangent
           
protected  Object object
           
 
Constructor Summary
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)
           
 
Method Summary
 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()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

intersectionLength

protected Double intersectionLength

intersectionPoint

protected Vec4 intersectionPoint

intersectionPosition

protected Position intersectionPosition

isTangent

protected boolean isTangent

object

protected Object object
Constructor Detail

Intersection

public Intersection(Vec4 intersectionPoint,
                    boolean isTangent)
Constructs an Intersection from an intersection point and tangency indicator.

Parameters:
intersectionPoint - the intersection point.
isTangent - true if the intersection is tangent to the object intersected, otherwise false.
Throws:
IllegalArgumentException - if intersectionPoint is null

Intersection

public Intersection(Vec4 intersectionPoint,
                    double intersectionLength,
                    boolean isTangent)
Constructs an Intersection from an intersection point and tangency indicator.

Parameters:
intersectionPoint - the intersection point
intersectionLength - 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.
Throws:
IllegalArgumentException - if intersectionPoint is null

Intersection

public Intersection(Vec4 intersectionPoint,
                    Position intersectionPosition,
                    boolean isTangent,
                    Object object)
Method Detail

equals

public boolean equals(Object o)
Overrides:
equals in class Object

getIntersectionLength

public Double getIntersectionLength()
The parametric length along the intersection geometry. If the geometry involved a line, this value is the parametric distance at which the intersection occurred along the line.

Returns:
the intersection length, or null if the length was not calculated.

getIntersectionPoint

public Vec4 getIntersectionPoint()
Returns the intersection point.

Returns:
the intersection point.

getIntersectionPosition

public Position getIntersectionPosition()
Returns the intersection position if one has been set.

Returns:
the intersection position, or null if the position has not been set.

getObject

public Object getObject()
Returns the object associated with the intersection.

Returns:
the object associated with the intersection, or null if no object is associated.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

isTangent

public boolean isTangent()
Indicates whether the intersection is tangent to the object intersected.

Returns:
true if the intersection is tangent, otherwise false.

setIntersectionPoint

public void setIntersectionPoint(Vec4 intersectionPoint)
Specifies the intersection point.

Parameters:
intersectionPoint - the intersection point. May be null, but typically should not be.

setIntersectionPosition

public void setIntersectionPosition(Position intersectionPosition)
Specifies the intersection position, which should be a position computed from the intersection point.

Parameters:
intersectionPosition - the intersection position. May be null.

setObject

public void setObject(Object object)
Specifies the object to associate with the intersection.

Parameters:
object - the object to associate with the intersection. May be null.

setTangent

public void setTangent(boolean tangent)
Specifies whether the intersection is tangent to the object intersected.

Parameters:
tangent - true if the intersection is tangent, otherwise false.

sort

public 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.

Parameters:
refPoint - the reference point.
listA - the first list of intersections.
listB - the second list of intersections.
Returns:
the merged list of intersections, sorted by increasing distance from the reference point.

toString

public String toString()
Overrides:
toString in class Object

NASA World Wind