|
|||||||||
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 one-dimensional 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 co-created prior to the query. The output geometry is not co-created 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 top-level 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 top-level
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 top-level 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 |