

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface IRay
Provides access to 3D Ray properties and methods. A ray has one endpoint (its origin) and continues infinitely in one direction.
A Ray is a onedimensional object defined by an Origin point and a directional Vector. A Ray extends to infinity from the Origin point in the direction of the Vector.
A fixed tolerance value is currently used for the three intersection methods: Intersects(), Intersect(), and QueryFirstIntersection().
Method Summary  

IEnumIntersection 
getEnumIntersect(IGeometry targetGeometry)
Not implemented at this release. 
IPoint 
getOrigin()
The origin point of the ray. 
IPoint 
getPointAtDistance(double distance)
Constructs a point at a distance along the ray. 
IVector3D 
getVector()
The direction vector of the ray. 
void 
intersect(IGeometry targetGeometry,
IPointCollection intersectionPoints)
Returns a point collection containing all points of intersection, in order along the ray. 
boolean 
intersects(IGeometry targetGeometry)
Indicates if the ray intersects the target geometry. 
void 
queryFirstIntersection(IGeometry targetGeometry,
IPoint intersectionPoint)
Returns the first point of intersection between the ray and the target geometry. 
void 
queryOrigin(IPoint vectorOrigin)
Sets a point equal to the ray's origin. 
void 
queryPointAtDistance(double distance,
IPoint point)
Queries a point at a distance along the ray. 
void 
queryVector(IVector3D directionVector)
Sets a vector equal to a unit vector with the same direction as the ray. 
void 
setOrigin(IPoint vectorOrigin)
The origin point of the ray. 
void 
setVector(IVector3D directionVector)
The direction vector of the ray. 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry 

geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference 
Method Detail 

void queryOrigin(IPoint vectorOrigin) throws IOException, AutomationException
Returns the Origin of the Ray into the input Point.
Note: The output geometry must be cocreated prior to the query. The output geometry is not cocreated by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.
vectorOrigin
 A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IPoint getOrigin() throws IOException, AutomationException
Returns and sets the Origin of the Ray. The Origin is the starting Point from which the Ray infinitely extends in the direction of its vector.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setOrigin(IPoint vectorOrigin) throws IOException, AutomationException
vectorOrigin
 A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void queryVector(IVector3D directionVector) throws IOException, AutomationException
Returns the Vector3D of the Ray. The Vector3D determines the direction the Ray extends from its Origin. The Vector of a Ray is always Normalized to a unit vector.
directionVector
 A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IVector3D getVector() throws IOException, AutomationException
Returns and sets the Vector3D of the Ray. The Vector3D determines the direction the Ray extends from its Origin. The Vector of a Ray is always Normalized to a unit vector.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setVector(IVector3D directionVector) throws IOException, AutomationException
directionVector
 A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void queryPointAtDistance(double distance, IPoint point) throws IOException, AutomationException
distance
 The distance (in)point
 A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IPoint getPointAtDistance(double distance) throws IOException, AutomationException
distance
 The distance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.boolean intersects(IGeometry targetGeometry) throws IOException, AutomationException
Implemented for Points, Multipoints, Polylines, Polygons, Envelopes, and Multipatches.
This method is intended to be called against toplevel geometries only (Point, Multipoint, Polyline, Polygon, Envelope, MultiPatch). To call this method against a Segment/Path or Ring, first add the part to a Polyline or Polygon container, respectively, and then call this method against the container.
targetGeometry
 A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void queryFirstIntersection(IGeometry targetGeometry, IPoint intersectionPoint) throws IOException, AutomationException
Implemented for Points, Multipoints, Polylines, Polygons, Envelopes, and Multipatches.
This method is intended to be called against toplevel geometries only (Point, Multipoint, Polyline, Polygon, Envelope, MultiPatch). To call this method against a Segment/Path or Ring, first add the part to a Polyline or Polygon container, respectively, and then call this method against the container.
If a Ray intersects an Envelope and is located within the bounds of the Envelope, the result of QueryFirstIntersection will be the point closest to the Ray origin along the Ray, located on the exterior of the Envelope at which an intersection takes place.
targetGeometry
 A reference to a com.esri.arcgis.geometry.IGeometry (in)intersectionPoint
 A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void intersect(IGeometry targetGeometry, IPointCollection intersectionPoints) throws IOException, AutomationException
Implemented for Points, Multipoints, Polylines, Polygons, Envelopes, and Multipatches.
This method is intended to be called against toplevel geometries only (Point, Multipoint, Polyline, Polygon, Envelope, MultiPatch). To call this method against a Segment/Path or Ring, first add the part to a Polyline or Polygon container, respectively, and then call this method against the container.
targetGeometry
 A reference to a com.esri.arcgis.geometry.IGeometry (in)intersectionPoints
 A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IEnumIntersection getEnumIntersect(IGeometry targetGeometry) throws IOException, AutomationException
This method is currently not implemented.
targetGeometry
 A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 