This document is archived and information here might be outdated.  Recommended version.

IMSegmentation2 Interface (ArcObjects .NET 10.7 SDK)
 ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IM > IMSegmentation2 Interface
 ArcGIS Developer Help

# IMSegmentation2 Interface

#### Product Availability

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

#### Members

Name Description
CalculateNonSimpleMs Redefines the non-simple Ms to be values obtained from interpolation of surrounding defined Ms, or extrapolation of Ms.
CalibrateByDistance Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.
CalibrateByMs Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.
ExtrapolateMs Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.
GetDistancesAtM Returns an array of distances along the polyline at which is located the specified M. If the geometry's M's are monotonic along the geometry then the array will only have one element.
GetMsAtDistance Returns M values at the distance along the geometry. An array of one or two Ms is returned. Two Ms can be returned if the given distance is exactly at the beginning or ending of a part.
GetPointsAtM Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.
GetSubcurveBetweenMs Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.
GetSubcurveBetweenMsEx Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. The 'details' arguments are composed of esriMCurveRelationEnum values.
InsertMAtDistance Sets the M value at the given distance along the geometry; creates a point at that distance if no point exists there.
InterpolateMsBetween Generates Ms by linear interpolation of segment distances for all vertices in the range [start+1, end-1].
MMax The maximum M value.
MMin The minimum M value.
MMonotonic A value indicating whether Ms are monotonic, and if so, whether they are ascending or descending.
MultiplyMs Multiplies all the M values by a factor.
OffsetMs Offsets all the M values by an offset value.
ReverseMsOrder Reverses the order of the Ms along the geometry.
SetAndInterpolateMsBetween Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values.
SetMsAsDistance Sets the M values to the cumulative length from the origin of the geometry.
SetMsAsDistance2 Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.
UpdateMsByDistance Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the input ms and euclidean distance along that path. The update method is given as a combination of esriGeometryUpdateMEnum values.
UpdateMsByMs Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the existing ms along that path and the input ms. The update method is given as a combination of esriGeometryUpdateMEnum values.

#### Inherited Interfaces

Interfaces Description
IMSegmentation Provides access to members for defining an M-based linear coordinate system on a polyline or polygon.
IMCollection Provides access to members that control operations on M-aware multipoints, polylines, polygons and multipatches.

#### Classes that implement IMSegmentation2

Classes Description
Polyline An ordered collection of paths; optionally has measure, height and ID attributes.

#### Remarks

The IMSegmentation2 interface (like the IMSegmenation interface) also provides methods designed to work with the dynamic segmentation functionality in ArcObjects. These methods offer extended ways to interpolate and update the m attributes on a PolyLine, by cumulative distance and also by existing m values.