ArcGIS Pro 2.8 API Reference Guide
SetMCoords Method (EnvelopeBuilder)
Example 

ArcGIS.Core.Geometry Namespace > EnvelopeBuilder Class : SetMCoords Method
One of the m-coordinates
One of the m-coordinates
Sets the m-coordinates, that is, MMin and MMax. Also sets HasM = true.
Syntax
public void SetMCoords( 
   double m1,
   double m2
)
Public Sub SetMCoords( _
   ByVal m1 As Double, _
   ByVal m2 As Double _
) 

Parameters

m1
One of the m-coordinates
m2
One of the m-coordinates
Remarks
This method will figure out which value to set as MMin and MMax.
Example
Coordinate2D minCoord = new Coordinate2D(1, 3);
Coordinate2D maxCoord = new Coordinate2D(2, 4);

Coordinate2D c1 = new Coordinate2D(0, 5);
Coordinate2D c2 = new Coordinate2D(1, 3);

// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (EnvelopeBuilder builder = new EnvelopeBuilder(minCoord, maxCoord))
  {
    // builder.XMin, YMin, Zmin, MMin  = 1, 3, 0, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 2, 4, 0, double.Nan

    // set XMin.  if XMin > XMax; both XMin and XMax change
    builder.XMin = 6;
    // builder.XMin, YMin, ZMin, MMin  = 6, 3, 0, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 6, 4, 0, double.Nan

    // set XMax
    builder.XMax = 8;
    // builder.XMin, YMin, ZMin, MMin  = 6, 3, 0, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 8, 4, 0, double.Nan

    // set XMax.  if XMax < XMin, both XMin and XMax change
    builder.XMax = 3;
    // builder.XMin, YMin, ZMin, MMin  = 3, 3, 0, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 3, 4, 0, double.Nan

    // set YMin
    builder.YMin = 2;
    // builder.XMin, YMin, ZMin, MMin  = 3, 2, 0, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 3, 4, 0, double.Nan

    // set ZMin.  if ZMin > ZMax, both ZMin and ZMax change
    builder.ZMin = 3;
    // builder.XMin, YMin, ZMin, MMin  = 3, 2, 3, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 3, 4, 3, double.Nan

    // set ZMax.  if ZMax < ZMin. both ZMin and ZMax change
    builder.ZMax = -1;
    // builder.XMin, YMin, ZMin, MMin  = 3, 2, -1, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 3, 4, -1, double.Nan

    builder.SetZCoords(8, -5);
    // builder.XMin, YMin, ZMin, MMin  = 3, 2, -5, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 3, 4, 8, double.Nan


    builder.SetXYCoords(c1, c2);
    // builder.XMin, YMin, ZMin, MMin  = 0, 3, -5, double.Nan
    // builder.XMax, YMax, ZMax, MMax = 1, 5, 8, double.Nan


    builder.HasM = true;
    builder.SetMCoords(2, 5);

    var geom = builder.ToGeometry();
  }
});

// or use the EnvelopeBuilderEx.  This constructor doesn't need to run on the MCT.

EnvelopeBuilderEx builderEx = new EnvelopeBuilderEx(minCoord, maxCoord);
// builderEx.XMin, YMin, Zmin, MMin  = 1, 3, 0, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 2, 4, 0, double.Nan

// set XMin.  if XMin > XMax; both XMin and XMax change
builderEx.XMin = 6;
// builderEx.XMin, YMin, ZMin, MMin  = 6, 3, 0, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 6, 4, 0, double.Nan

// set XMax
builderEx.XMax = 8;
// builderEx.XMin, YMin, ZMin, MMin  = 6, 3, 0, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 8, 4, 0, double.Nan

// set XMax.  if XMax < XMin, both XMin and XMax change
builderEx.XMax = 3;
// builderEx.XMin, YMin, ZMin, MMin  = 3, 3, 0, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 3, 4, 0, double.Nan

// set YMin
builderEx.YMin = 2;
// builderEx.XMin, YMin, ZMin, MMin  = 3, 2, 0, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 3, 4, 0, double.Nan

// set ZMin.  if ZMin > ZMax, both ZMin and ZMax change
builderEx.ZMin = 3;
// builderEx.XMin, YMin, ZMin, MMin  = 3, 2, 3, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 3, 4, 3, double.Nan

// set ZMax.  if ZMax < ZMin. both ZMin and ZMax change
builderEx.ZMax = -1;
// builderEx.XMin, YMin, ZMin, MMin  = 3, 2, -1, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 3, 4, -1, double.Nan

builderEx.SetZCoords(8, -5);
// builderEx.XMin, YMin, ZMin, MMin  = 3, 2, -5, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 3, 4, 8, double.Nan


builderEx.SetXYCoords(c1, c2);
// builderEx.XMin, YMin, ZMin, MMin  = 0, 3, -5, double.Nan
// builderEx.XMax, YMax, ZMax, MMax = 1, 5, 8, double.Nan


builderEx.HasM = true;
builderEx.SetMCoords(2, 5);

var geomEx = builderEx.ToGeometry();
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

EnvelopeBuilder Class
EnvelopeBuilder Members