ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / CubicBezierSegment Class
Members Example

In This Topic
    CubicBezierSegment Class
    In This Topic
    Represents a third degree cubic Bezier curve for use in a Multipart geometry. To create a cubic bezier segment use the CubicBezierBuilderEx object.
    Object Model
    CubicBezierSegment ClassCoordinate2D StructureCoordinate2D StructureCoordinate2D StructureMapPoint ClassEnvelope ClassSpatialReference ClassCoordinate2D StructureMapPoint Class
    Syntax
    Public NotInheritable Class CubicBezierSegment 
       Inherits Segment
    public sealed class CubicBezierSegment : Segment 
    Remarks
    A cubic Bezier curve is a non-linear segment defined by four control points. The Bezier curve starts at control point 0 (start point) and ends at control point 3 (end point). The start point and control point 1 define the tangent at the start point. Control point 2 and the end point define the tangent at the end point. The length of these tangent lines and position of the 4 control points determines the shape of the created Bezier curve.

    Bezier Curves

    Example
    Construct a Cubic Bezier - from Coordinates
    {
      // Use a builderEx convenience method or a builderEx constructor.
    
      MapPoint startPt = MapPointBuilderEx.CreateMapPoint(1.0, 1.0, 3.0);
      MapPoint endPt = MapPointBuilderEx.CreateMapPoint(2.0, 2.0, 3.0);
    
      Coordinate2D ctrl1Pt = new Coordinate2D(1.0, 2.0);
      Coordinate2D ctrl2Pt = new Coordinate2D(2.0, 1.0);
    
      // BuilderEx convenience methods don't need to run on the MCT
      CubicBezierSegment bezier = CubicBezierBuilderEx.CreateCubicBezierSegment(startPt, ctrl1Pt, ctrl2Pt, endPt, SpatialReferences.WGS84);
    
      // without a SR
      bezier = CubicBezierBuilderEx.CreateCubicBezierSegment(startPt, ctrl1Pt, ctrl2Pt, endPt);
    
    
      // builderEx constructors don't need to run on the MCT
      CubicBezierBuilderEx cbbEx = new CubicBezierBuilderEx(startPt, ctrl1Pt, ctrl2Pt, endPt);
      bezier = cbbEx.ToSegment() as CubicBezierSegment;
    
      // another alternative
      cbbEx = new CubicBezierBuilderEx(startPt, ctrl1Pt.ToMapPoint(), ctrl2Pt.ToMapPoint(), endPt);
      bezier = cbbEx.ToSegment() as CubicBezierSegment;
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.Geometry.Segment
          ArcGIS.Core.Geometry.CubicBezierSegment

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also