|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IPath
Provides access to members that identify a path and define its behavior.
A Path is a connected, continuous sequence of Segments. Except for the first and last Segments in the Path, each segment shares its FromPoint with the ToPoint of the previous Segment, and shares its ToPoint with the FromPoint of the following Segment.
The Segments composing the Path do not need to be homogenous in type. A Ring is a Path that starts and ends on the same point and defines an area. Paths are the part types in Polylines.
IPoint
,
ICurve
,
IConstructPath
,
IGeometry
,
IRing
,
IPath
Method Summary | |
---|---|
void |
generalize(double maxAllowableOffset)
Generalizes this path using the Douglas-Poiker algorithm. |
void |
queryChordLengthTangents(int pointIndex,
IPoint prevTangent,
boolean[] prevSetByUser,
IPoint nextTangent,
boolean[] nextSetByUser)
Returns tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; and whether they have been set by user or by smoothing process. |
void |
setChordLengthTangents(int pointIndex,
IPoint prevTangent,
IPoint nextTangent)
Sets tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; if either is Nothing, they will be set by smoothing process. |
void |
smooth(double maxAllowableOffset)
Converts this path into a smooth approximation of itself that contains only Bezier curve segments. |
void |
smoothLocal(int vertexIndex)
Replaces up to four segments (two on each of the specified vertex index) with bezier curves. |
Methods inherited from interface com.esri.arcgis.geometry.ICurve |
---|
getFromPoint, getLength, getSubcurve, getToPoint, isClosed, queryFromPoint, queryNormal, queryPoint, queryPointAndDistance, queryTangent, queryToPoint, reverseOrientation, setFromPoint, setToPoint |
Methods inherited from interface com.esri.arcgis.geometry.IGeometry |
---|
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference |
Method Detail |
---|
void generalize(double maxAllowableOffset) throws IOException, AutomationException
Generalizes the Path into a generalized collection of Line segments. Generalize performs a Douglas-Poiker Generalization algorithm with a specified maximum offset tolerance given as input. For Line segments, the Generalized output is a subset of the original input vertices. For non-Linear segments, the Generalized output contains points along all parts of the curve, not necessarily only the vertices.
For a path with non-linear segments, the output curve may contain more vertices than the input curve, but all output segments will be linear.
maxAllowableOffset
- The maxAllowableOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void smooth(double maxAllowableOffset) throws IOException, AutomationException
Converts the Path into a Path containing only BezierCurve segments. The created BezierCurve path is a Generalization of the original path that has a maximum deviation of maxDeviation from the original path. If maxDeviation = 0, all of the original vertices are maintained. At each vertex, the adjoining BezierCurves have complementary tangents which creates a continuous (smooth) transition between segments.
maxAllowableOffset
- The maxAllowableOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPath.smooth(double)
,
IPath.smoothLocal(int)
,
IBezierCurve
,
IPolycurve.smooth(double)
void smoothLocal(int vertexIndex) throws IOException, AutomationException
Converts segments containing the indexed vertex into BezierCurves and performs a smoothing operation only at the two segments on either side of the input vertex. The created BezierCurves have complementary tangents at the indexed vertex.
vertexIndex
- The vertexIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPath.smooth(double)
,
IPath.smoothLocal(int)
,
IBezierCurve
,
IPolycurve.smooth(double)
void queryChordLengthTangents(int pointIndex, IPoint prevTangent, boolean[] prevSetByUser, IPoint nextTangent, boolean[] nextSetByUser) throws IOException, AutomationException
pointIndex
- The pointIndex (in)prevTangent
- A reference to a com.esri.arcgis.geometry.IPoint (in)prevSetByUser
- The prevSetByUser (in/out: use single element array)nextTangent
- A reference to a com.esri.arcgis.geometry.IPoint (in)nextSetByUser
- The nextSetByUser (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setChordLengthTangents(int pointIndex, IPoint prevTangent, IPoint nextTangent) throws IOException, AutomationException
pointIndex
- The pointIndex (in)prevTangent
- A reference to a com.esri.arcgis.geometry.IPoint (in)nextTangent
- A reference to a com.esri.arcgis.geometry.IPoint (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 |