ArcGIS Pro 2.9 API Reference Guide
CubicBezierBuilder Constructor(IEnumerable<MapPoint>)
Example 

ArcGIS.Core.Geometry Namespace > CubicBezierBuilder Class > CubicBezierBuilder Constructor : CubicBezierBuilder Constructor(IEnumerable<MapPoint>)
The enumeration of points from which the curve will be constructed. Four points must be supplied.
Creates a new instance of the CubicBezierBuilder class from a set of points. Four points must be supplied. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public CubicBezierBuilder( 
   IEnumerable<MapPoint> points
)
Public Function New( _
   ByVal points As IEnumerable(Of MapPoint) _
)

Parameters

points
The enumeration of points from which the curve will be constructed. Four points must be supplied.
Exceptions
ExceptionDescription
4 points are required for a cubic bezier.
Incompatible spatial references. The spatial reference of the MapPoints do not match.
This method or property must be called within the lambda passed to QueuedTask.Run.
points is null.
An operation on an empty geometry was attempted. points contains an empty point.
Remarks
The four points of the cubic bezier. points[0] is the start point, points[1] and points[2] are the control points, and points[3] is the end point.
Example
// Use a builder convenience method or use a builder constructor.

MapPoint startPt = MapPointBuilder.CreateMapPoint(1.0, 1.0, SpatialReferences.WGS84);
MapPoint endPt = MapPointBuilder.CreateMapPoint(2.0, 2.0, SpatialReferences.WGS84);

MapPoint ctrl1Pt = MapPointBuilder.CreateMapPoint(1.0, 2.0, SpatialReferences.WGS84);
MapPoint ctrl2Pt = MapPointBuilder.CreateMapPoint(2.0, 1.0, SpatialReferences.WGS84);

List<MapPoint> listMapPoints = new List<MapPoint>();
listMapPoints.Add(startPt);
listMapPoints.Add(ctrl1Pt);
listMapPoints.Add(ctrl2Pt);
listMapPoints.Add(endPt);

// Builder convenience methods don't need to run on the MCT
CubicBezierSegment bezier = CubicBezierBuilder.CreateCubicBezierSegment(listMapPoints);

// Builder constructors need to run on the MCT
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (CubicBezierBuilder cbb = new CubicBezierBuilder(listMapPoints))
  {
    // do something with the builder

    bezier = cbb.ToSegment();
  }
});

// builderEx constructors dont need to run on the MCT
CubicBezierBuilderEx cbbEx = new CubicBezierBuilderEx(listMapPoints);
bezier = cbbEx.ToSegment() as CubicBezierSegment;

// builderEx convenience methods dont need to run on the MCt
bezier = CubicBezierBuilderEx.CreateCubicBezierSegment(listMapPoints);
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

See Also

Reference

CubicBezierBuilder Class
CubicBezierBuilder Members
Overload List