|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IConstructPoint
Provides access to members that construct a point using other geometries and measures.
Method Summary | |
---|---|
void |
constructAlong(ICurve curve,
int extension,
double distance,
boolean asRatio)
Constructs a point distance units along the input curve. |
void |
constructAngleBisector(IPoint from,
IPoint through,
IPoint to,
double distance,
boolean useAcuteAngle)
Constructs a point on the bisector of the angle (from, through, to). |
void |
constructAngleDistance(IPoint p,
double inAngle,
double distance)
Constructs a point at a specified angle (in radians) from the horizontal axis and a specified distance away from the input point. |
void |
constructAngleIntersection(IPoint p1,
double angle1,
IPoint p2,
double angle2)
Constructs the point of intersection between two lines defined by the input points and angles (in radians). |
void |
constructDeflection(ILine baseLine,
double distance,
double inAngle)
Constructs a point in the polar coordinate system defined by baseLine and its 'from' point. |
void |
constructDeflectionIntersection(ILine baseLine,
double startAngle,
double endAngle,
boolean onRightSide)
Constructs the point of intersection of two rays with origins at the endpoints of the base line and the specified angles (in radians). |
void |
constructOffset(ICurve curve,
int extension,
double distance,
boolean asRatio,
double offset)
Constructs a point distance units along the input curve and offset units perpendicularly away from it. |
void |
constructParallel(ISegment segment,
int extension,
IPoint start,
double distance)
Constructs a point distance units from start, parallel to the tangent at the point nearest to start on the (extended) segment. |
void |
constructPerpendicular(ISegment base,
int extension,
IPoint p,
double distance,
boolean bUseLineOrientation)
Constructs a point 'distance' units from p and lying along the line normal to base and passing through p. |
void |
constructThreePointResection(IPoint point1,
double angleP1P2,
IPoint point2,
double angleP2P3,
IPoint point3,
double[] arcAngle)
Constructs the point of observation from which two signed angles between three points were measured; returns an angle which can help establish the confidence of the observation location: A small angle indicates greater uncertainty in the location. |
Method Detail |
---|
void constructAlong(ICurve curve, int extension, double distance, boolean asRatio) throws IOException, AutomationException
If the Distance parameter is less than zero, or greater than the length of the curve (when asRatio is false), or greater than one (when asRatio is true), then the value of the Extension parameter is used to determine the coordinates of the constructed point. In these cases, the point can be placed somewhere along an embedding geometry, or somewhere along a tangent geometry.
The embedding geometry of a straight line segment is a straight line extending infinitely in both directions. The embedding geometry of a circular arc is a complete circle. The embedding geometry of an elliptic arc is a complete ellipse. A bezier curve has no embedding geometry.
A tangent geometry is always a ray (a straight line extending infinitely in one direction) tangent to the input curve at either its from (start) or to (end) points.
Possible values for the Extension parameter
are:
-------------------------------------------------
esriNoExtension
The constructed point will always be on the input curve. A
distance < 0 will pin the constructed point to the location of
the input curve's from point. A distance > the curve
length (or > 1 when asRatio is true) will pin the location
to the curve's to point.
esriExtendTangentAtFrom If the distance parameter is < 0 then the point is constructed along a ray tangent to the start point of the curve, in a direction away from the curve.
esriExtendTangentAtTo If the distance parameter is greater than the length of the input curve (or > 1 when asRatio is true), then the constructed point is placed along a ray tangent to the end point of the curve, in a direction away from the curve.
esriExtendEmbeddedAtFrom Similar to the tangent option, but uses the embedding geometry instead of the tangent lines.
esriExtendEmbeddedAtTo Similar to the tangent option, but uses the embedding geometry instead of the tangent lines.
esriExtendEmbedded
The point is constructed based on either the start
or end points of the curve.
esriExtendTangents The point is tangential extended from the start or endpoint of the curve.
These values can be combined using the VB Or operator, or the C++ bitwise OR operator.
Example 1: esriExtendTangentAtFrom Or
esriExtendTangentAtTo
Instead of using esriExtendTangents
you could
use esriExtendTangentAtFrom Or
esriExtendTangentAtTo.
This would allow the point to be
constructed anywhere along infinte straight lines,
beginning from either the start or end of the curve, regardless of
whether the distance parameter was less than 0,
or greater than the length of the input curve (or > 1 when
asRatio is true).
curve
- A reference to a com.esri.arcgis.geometry.ICurve (in)extension
- A com.esri.arcgis.geometry.esriSegmentExtension constant (in)distance
- The distance (in)asRatio
- The asRatio (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructAngleDistance(IPoint p, double inAngle, double distance) throws IOException, AutomationException
The ConstructAngleDistance method, given a point (p), construct another point at an angle (inangle) and a distance(distance).
Angle in radians and distance in map units. The angle is measured counter-clockwise from the horizontal line and can be negative. If the distance is negative then the opposite direction is assumed (same as angle + PI).
p
- A reference to a com.esri.arcgis.geometry.IPoint (in)inAngle
- The inAngle (in)distance
- The distance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IConstructPoint.constructAlong(com.esri.arcgis.geometry.ICurve, int, double, boolean)
void constructDeflection(ILine baseLine, double distance, double inAngle) throws IOException, AutomationException
The ConstructDeflection method, given a line (baseline), creates a new point at a distance (distance) and at an angle (inAngle).
baseLine
- A reference to a com.esri.arcgis.geometry.ILine (in)distance
- The distance (in)inAngle
- The inAngle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructDeflectionIntersection(ILine baseLine, double startAngle, double endAngle, boolean onRightSide) throws IOException, AutomationException
baseLine
- A reference to a com.esri.arcgis.geometry.ILine (in)startAngle
- The startAngle (in)endAngle
- The endAngle (in)onRightSide
- The onRightSide (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructThreePointResection(IPoint point1, double angleP1P2, IPoint point2, double angleP2P3, IPoint point3, double[] arcAngle) throws IOException, AutomationException
The ConstructThreePointResection method constructs a new point
given three points and two signed view angles. It finds the
viewpoints from which the two point pairs are viewed at the given
angles. When both angles are equal to pi/2 radians, there is only
one solution; otherwise there can be up to four solutions. A
positive angle indicates that the viewpoint is to be on the right
hand side of the line between the corresponding points; a negative
angle places the resulting point on the left. There may not be a
feasible solution for the given input, in which case the resulting
point is empty. The quality of the solution is given by the
arcAngle parameter. The smaller the angle the less stable
the solution. The returned angle is between 0 and pi/2.
Given three points and two angles measured
from the constructed point.
Note that there is no unique solution if all three points are on
the same circle.
point1
- A reference to a com.esri.arcgis.geometry.IPoint (in)angleP1P2
- The angleP1P2 (in)point2
- A reference to a com.esri.arcgis.geometry.IPoint (in)angleP2P3
- The angleP2P3 (in)point3
- A reference to a com.esri.arcgis.geometry.IPoint (in)arcAngle
- The arcAngle (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructOffset(ICurve curve, int extension, double distance, boolean asRatio, double offset) throws IOException, AutomationException
A positive Offset distance will create a point on the right side of the curve and a negative offset will create a point on the left side of the curve.
Set the asRatio flag to be True if you want the distance to be a ratio of the curve length. If set to True, then a distance of 0.5 will be equal to half of the curve length (i.e. 50%).
curve
- A reference to a com.esri.arcgis.geometry.ICurve (in)extension
- A com.esri.arcgis.geometry.esriSegmentExtension constant (in)distance
- The distance (in)asRatio
- The asRatio (in)offset
- The offset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructParallel(ISegment segment, int extension, IPoint start, double distance) throws IOException, AutomationException
ConstructParallel constructs a Point a specified distance from the input point in the direction parallel to the tangent of the nearest point on the extended input segment.
segment
- A reference to a com.esri.arcgis.geometry.ISegment (in)extension
- A com.esri.arcgis.geometry.esriSegmentExtension constant (in)start
- A reference to a com.esri.arcgis.geometry.IPoint (in)distance
- The distance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructAngleBisector(IPoint from, IPoint through, IPoint to, double distance, boolean useAcuteAngle) throws IOException, AutomationException
Constructs a Point at specified Distance along the line which bisects the Angle formed by the right side of the three input points. If the right side angle is smaller, the constructed line along which the Point is constructed will always bisect this angle, regardless of the value of bUseSmallerAngle. However, if the right side angle is larger, and bUseSmallerAngle is TRUE, then the Point will be on the line constructed which bisects the smaller angle (left side) instead of the right side angle.
The method uses a vector geometry to calculate the point. The Smaller Angle is the angle less than PI.
If From , To and Through points are all on a straight line , the point is calculated perpendicular (to the right) of the line.
from
- A reference to a com.esri.arcgis.geometry.IPoint (in)through
- A reference to a com.esri.arcgis.geometry.IPoint (in)to
- A reference to a com.esri.arcgis.geometry.IPoint (in)distance
- The distance (in)useAcuteAngle
- The useAcuteAngle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructPerpendicular(ISegment base, int extension, IPoint p, double distance, boolean bUseLineOrientation) throws IOException, AutomationException
ConstructPerpendicular constructs a Point a specified distance from the input point in the direction parallel to the normal (perpendicular to the tangent) of the nearest point on the extended input segment.
base
- A reference to a com.esri.arcgis.geometry.ISegment (in)extension
- A com.esri.arcgis.geometry.esriSegmentExtension constant (in)p
- A reference to a com.esri.arcgis.geometry.IPoint (in)distance
- The distance (in)bUseLineOrientation
- The bUseLineOrientation (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructAngleIntersection(IPoint p1, double angle1, IPoint p2, double angle2) throws IOException, AutomationException
p1
- A reference to a com.esri.arcgis.geometry.IPoint (in)angle1
- The angle1 (in)p2
- A reference to a com.esri.arcgis.geometry.IPoint (in)angle2
- The angle2 (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 |