|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IPolycurve2
Provides access to members that extend IPolycurve with additional splitting and densification methods.
IPolycurve
,
IPolygon
,
IPolycurve2
,
IPolyline
Method Summary | |
---|---|
void |
densifyByAngle(double maxSegmentLength,
double maxAngleDeviation)
Converts this polycurve into a piecewise linear approximation of itself. |
IEnumSplitPoint |
splitAtDistances(int distanceCount,
double[] distances,
boolean asRatios,
boolean createParts)
Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeometryEnvironment.splitAtDistances(com.esri.arcgis.geometry.IPolycurve2, double[], boolean, boolean) . |
IEnumSplitPoint |
splitAtPoints(IEnumVertex splitPoints,
boolean projectOnto,
boolean createParts,
double cutoffDistance)
Introduces new vertices into this polyline at the locations on it closest to the input points. |
Methods inherited from interface com.esri.arcgis.geometry.IPolycurve |
---|
densify, generalize, smooth, splitAtDistance, splitAtPoint, weed |
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 |
---|
IEnumSplitPoint splitAtPoints(IEnumVertex splitPoints, boolean projectOnto, boolean createParts, double cutoffDistance) throws IOException, AutomationException
The SplitAtPoints method allows splitting a polycurve (polygon or polyline) in sections using a set of points.
Parameters description:
splitPoints: Input IEnumVertex object. It represents the points to be used to split the polycurve.
projectOnto: The projectOnto is an input parameter that determines if the output point will be located on the polycurve. If projectOnto is true and the input point is not already on the polycurve then the point is projected on the curve. If false, the polycurve is split and modified to pass trough the point.
createParts: The createParts is an input parameter that determines if parts (paths) have to be created. createPart must be FALSE for polygons. For polylines, if createPart is TRUE, the part on which the new split point falls is split into two parts with the newly added vertex serving as the end of the first part and the beginning of the second.
cutoffDistance: Input Double that represents the distance from the curve from where points are not considered anymore has being valid split points.
Note: The IEnumSplitPoint contains the input points.
splitPoints
- A reference to a com.esri.arcgis.geometry.IEnumVertex (in)projectOnto
- The projectOnto (in)createParts
- The createParts (in)cutoffDistance
- The cutoffDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumSplitPoint splitAtDistances(int distanceCount, double[] distances, boolean asRatios, boolean createParts) throws IOException, AutomationException
GeometryEnvironment.splitAtDistances(com.esri.arcgis.geometry.IPolycurve2, double[], boolean, boolean)
.
distanceCount
- The distanceCount (in)distances
- The distances (in)asRatios
- The asRatios (in)createParts
- The createParts (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void densifyByAngle(double maxSegmentLength, double maxAngleDeviation) throws IOException, AutomationException
Converts a Polycurve into a Polycurve composed of Line segments with length maxSegmentLength (or less) that are within maxDeviation of the original polycurve. If maxDeviation = 0, maxDeviation is ignored and Line segments with length maxSegmentLength are constructed with vertices located on the original curve. All of the segments in the final polyline will be Lines. The maxDeviation is an angle in radians.
If the maxSegmentLength is negative IGeometryEnvironment::AutoDensifyTolerance is used. IGeometryEnvironment::AutoDensifyTolerance default value is 0. This value can be explicitly set via IGeometryEnvironment::AutoDensifyTolerance.
If the maxDeviation is negative IGeometryEnvironment::AngularAutoDensifyTolerance is used. The default value is Pi / 18.0. That value can be explicitly set via IGeometryEnvironment::AngularAutoDensifyTolerance.
In order to avoid the creation of too many segments, the geometry system uses a maxDeviation = 2*XYresolution * 100 (or 2/XYUnits * 100) as the default value if maxSegmentLength is 0 and the maxDeviation is 0.
The maximum number of segments that can be produced is 2000, an external user cannot modify that value.
NOTE: The default values given in this topic are subject to change without notice. If you have specific values that you want to be maintained, we recommend using the methods on IGeometryEnvironment to set them explicitly.
The start and end points are always honored and remain the same as for the original feature.
maxSegmentLength
- The maxSegmentLength (in)maxAngleDeviation
- The maxAngleDeviation (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 |