ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / MSubCurveRelation Enumeration
Example Example

In This Topic
    MSubCurveRelation Enumeration
    In This Topic
    Information about where an M-value falls relative to a multipart. Use with GeometryEngine.GetSubCurveBetweenMsEx method.
    Syntax
    Members
    MemberDescription
    MAboveMax The M-value is greater than the multipart's maximum M-value.
    MBelowMin The M-value is less than the multipart's minimum M-value.
    MBetweenMinMax The M-value is between the multipart's minimum and maximum M-values.
    MRelationMIsNaN The M-value is NaN.
    MRelationSubCurveEmpty The multipart is empty.
    MRelationSubCurveHasNoMs The multipart's HasM property is true, but no M-values are set.
    MRelationUndetermined The relationship between the M-value and the multipart could not be determined.
    Example
    Get a polyline and other details corresponding to the subcurves between the specified M-values GetSubCurveBetweenMsEx
    string json = "{\"hasM\":true,\"paths\":[[[-2000,0,1],[-1000,1000,-1],[-1000,0,3],[1000,1000,4],[2000,1000,5],[2000,2000,6],[3000,2000,7],[4000,0,8]]],\"spatialReference\":{\"wkid\":3857}}";
    Polyline polyline = PolylineBuilderEx.FromJson(json);
    
    // Get the subcurve between M-values 2 and 6
    MSubCurveRelation fromDetail, toDetail;
    Polyline subCurve = GeometryEngine.Instance.GetSubCurveBetweenMsEx(polyline, 2, 6, out fromDetail, out toDetail);
    // The subcurve has one part and five points. The subcurve points are (x, y, m):
    // (-1000, 250, 2), (-1000, 0, 3), (1000, 1000, 4), (2000, 1000, 5), (2000, 2000, 6)
    // fromDetail = toDetail = MSubCurveRelation.MBetweenMinMax
    
    // Get the subcurve between M-values -2 and 3.5
    subCurve = GeometryEngine.Instance.GetSubCurveBetweenMsEx(polyline, -2, 3.5, out fromDetail, out toDetail);
    // The subcurve has two parts and five points.
    // The subcurve points in part 0 are (x, y, m): (-1000, 1000, -1), (-2000, 0, 1)
    // The subcurve points in part 1 are (x, y, m): (-1000, 1000, -1), (-1000, 0, 3), (0, 500, 3.5)
    // fromDetail = MSubCurveRelation.MBelowMin, toDetail = MSubCurveRelation.MBetweenMinMax
    
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.Geometry.MSubCurveRelation

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.3 or higher.
    See Also