com.esri.arcgis.geometry
Interface IMSegmentation3

All Superinterfaces:
IMCollection, IMSegmentation, IMSegmentation2, Serializable
All Known Implementing Classes:
Polyline

public interface IMSegmentation3
extends IMSegmentation2, Serializable

Provides access to additional linear referencing operations on polylines.

Product Availability

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


Method Summary
 int getMMonotonicity()
          A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.
 IGeometryCollection getNormalsAtM(double m, double length)
          Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.
 void orientByMs()
          Re-orients the curve to make Ms non-decreasing, if possible.
 void queryFirstLastM(double[] firstM, double[] lastM)
          Returns the first and last defined M value for the curve.
 void updateAllMsByMs(IPoint origin, double scale, double offset, boolean ignoreGaps)
          Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's.
 
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation2
calibrateByDistance, calibrateByMs, getSubcurveBetweenMsEx, setMsAsDistance2, updateMsByDistance, updateMsByMs
 
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation
calculateNonSimpleMs, extrapolateMs, getDistancesAtM, getMMonotonic, getMsAtDistance, getPointsAtM, getSubcurveBetweenMs, insertMAtDistance, interpolateMsBetween, reverseMsOrder, setAndInterpolateMsBetween, setMsAsDistance
 
Methods inherited from interface com.esri.arcgis.geometry.IMCollection
getMMax, getMMin, multiplyMs, offsetMs
 

Method Detail

updateAllMsByMs

void updateAllMsByMs(IPoint origin,
                     double scale,
                     double offset,
                     boolean ignoreGaps)
                     throws IOException,
                            AutomationException
Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
scale - The scale (in)
offset - The offset (in)
ignoreGaps - The ignoreGaps (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormalsAtM

IGeometryCollection getNormalsAtM(double m,
                                  double length)
                                  throws IOException,
                                         AutomationException
Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.

Remarks

Note : The Length parameter represents the length of the normal lines returned. A negative value returns the normal lines on the left of the polyline.

In the above example the specified M was 10 and the Length was 50. The normal line was then created on the right side of the polyline at the location of M = 10.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMMonotonicity

int getMMonotonicity()
                     throws IOException,
                            AutomationException
A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.

Remarks

The MMonotonicity value in the above case is 15 because that polyline has intervals that EsriValueIncreases (1), EsriValueLevel (2), EsriValueDecreases(4) and EsriValuesEmpty(8).

Note : That method returns a combination of esriMonotinicityEnum values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryFirstLastM

void queryFirstLastM(double[] firstM,
                     double[] lastM)
                     throws IOException,
                            AutomationException
Returns the first and last defined M value for the curve.

Description

QueryFirstLastM returns the first and the last Non-NAN Ms on the polyline. If all the vertex attributes are NANs then NANs are returned.

Remarks

Note : NAN stands for Not A Number.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
firstM - The firstM (out: use single element array)
lastM - The lastM (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

orientByMs

void orientByMs()
                throws IOException,
                       AutomationException
Re-orients the curve to make Ms non-decreasing, if possible.

Remarks

Note: If one or many parts of the polyline are non-MMonotonic then the reordering will not happen.

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.