com.esri.arcgis.geometry
Interface IEnumCurve

All Superinterfaces:
Serializable
All Known Subinterfaces:
IEnumCurve2
All Known Implementing Classes:
IEnumCurve2Proxy, IEnumCurveProxy

public interface IEnumCurve
extends Serializable

Provides access to members that allow efficient construction of sequential subcurves along a polyline or polygon.

Superseded By

IEnumCurve2

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux


Method Summary
 IEnumCurve esri_clone()
          Returns a copy of this enumerator positioned at the same segment.
 double getCurveDistance()
          The current distance from the start of the curve.
 int getPartIndex()
          The current part index.
 ISegment getSegment()
          The segment covering the current distance of this curve iterator.
 double getSegmentDistance()
          The distance within the current segment of the current distance of this curve iterator.
 int getSegmentIndex()
          The current segment index within the current part.
 int getStopOptions()
          Stop options for the distance iterator.
 int getStopReason()
          The reason for the current position of the distance iterator.
 ICurve getSubcurve(double fromDistance, double toDistance, boolean asRatio)
          Extracts a portion of this curve into a new curve.
 void next(double distance)
          Moves iterator to a specified distance along the curve.
 void reset()
          Resets the iterator to the start of the curve.
 void setStopOptions(int stopOptions)
          Stop options for the distance iterator.
 

Method Detail

esri_clone

IEnumCurve esri_clone()
                      throws IOException,
                             AutomationException
Returns a copy of this enumerator positioned at the same segment.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.IEnumCurve
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

void reset()
           throws IOException,
                  AutomationException
Resets the iterator to the start of the curve.

Description

Returns the distance iterator to the beginning of the enumerated curve. The distance along the curve is returned to the zero distance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

next

void next(double distance)
          throws IOException,
                 AutomationException
Moves iterator to a specified distance along the curve.

Description

Advances the distance iterator to a specified distance along the enumerated curve.

Remarks

Note: Gaps between parts are ignored in distance computations.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
distance - The distance (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSegment

ISegment getSegment()
                    throws IOException,
                           AutomationException
The segment covering the current distance of this curve iterator.

Description

Returns the segment at the current distance along the enumerated curve referenced by the distance iterator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.ISegment
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSegmentDistance

double getSegmentDistance()
                          throws IOException,
                                 AutomationException
The distance within the current segment of the current distance of this curve iterator.

Description

Returns the distance from the From Point of the current Segment to the location of the distance iterator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The segmentDistance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurveDistance

double getCurveDistance()
                        throws IOException,
                               AutomationException
The current distance from the start of the curve.

Description

Returns the distance from the start of the curve to the current location of the distance iterator.

Remarks

Note: Gaps between parts are ignored in distance computations.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The curveDistance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPartIndex

int getPartIndex()
                 throws IOException,
                        AutomationException
The current part index.

Description

Returns the Part Index of the part referenced by the current location of the distance iterator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The partIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSegmentIndex

int getSegmentIndex()
                    throws IOException,
                           AutomationException
The current segment index within the current part.

Description

Returns the index of the Segment referenced by the current location of the distance iterator. The Segment Index is relative to the Part to which the segment belongs.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The segmentIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStopReason

int getStopReason()
                  throws IOException,
                         AutomationException
The reason for the current position of the distance iterator.

Description

Returns an esriCurveIteratorEnum that describes the reason for the current location of the distance iterator.

Remarks

Note: The StopReason returns value different than esriCurveIteratorNoStop only if the enumerator wasn't explicitly set to the end points of a part. For example, setting the enumerator to a distance of zero will not return esriCurveIteratorStopAtPartFrom even if that option was set with the StopOptions property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.geometry.esriCurveIteratorEnum constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStopOptions

void setStopOptions(int stopOptions)
                    throws IOException,
                           AutomationException
Stop options for the distance iterator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
stopOptions - A com.esri.arcgis.geometry.esriCurveIteratorEnum constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStopOptions

int getStopOptions()
                   throws IOException,
                          AutomationException
Stop options for the distance iterator.

Description

Returns and sets the current esriCurveIteratorEnum stop conditions for the distance iterator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.geometry.esriCurveIteratorEnum constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubcurve

ICurve getSubcurve(double fromDistance,
                   double toDistance,
                   boolean asRatio)
                   throws IOException,
                          AutomationException
Extracts a portion of this curve into a new curve.

Description

The GetSubCurve method returns a polyline or path object corresponding to a portion of the input curve. If the ISegmentCollection points to a IPolyline or a IPolygon then the output is of type IPolyline, otherwise the output is of type IPath.

Remarks

Note: Gaps between parts are ignored in distance computations.

Parameters description:

fromDistance: Input Double. Input distance that determines where the subcurve should start. The value of that parameter should be in map unit unless asRatio is true.
toDistance: Input Double. Input distance that determines where the subcurve should stop. The value of that parameter should be in map unit unless asRatio is true.
asRatio: Input Boolean. The asRatio determines if the input distances should be interpreted as map unit asRatio = false distance or parametric distance asRatio = True (0 = distance of 0, 1 = full length of the curve).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
fromDistance - The fromDistance (in)
toDistance - The toDistance (in)
asRatio - The asRatio (in)
Returns:
A reference to a com.esri.arcgis.geometry.ICurve
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.