ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / PolylineBuilderEx Class / PolylineBuilderEx Constructor / PolylineBuilderEx Constructor(Polyline)
Polyline used for construction of the geometry of this builder.
Example Version

PolylineBuilderEx Constructor(Polyline)
Creates a new instance of the PolylineBuilderEx class from the input polyline.
Syntax
public PolylineBuilderEx( 
   Polyline polyline
)

Parameters

polyline
Polyline used for construction of the geometry of this builder.
Exceptions
ExceptionDescription
The input polyline is null.
Remarks
All properties of the input polyline, including the spatial reference, are inherited by the new builder.
Example
Builder Properties
// list of points
List<MapPoint> points = new List<MapPoint>
{
  MapPointBuilderEx.CreateMapPoint(0, 0, 2, 3, 1),
  MapPointBuilderEx.CreateMapPoint(1, 1, 5, 6),
  MapPointBuilderEx.CreateMapPoint(2, 1, 6),
  MapPointBuilderEx.CreateMapPoint(0, 0)
};

// will have attributes because it is created with convenience method
Polyline polylineWithAttrs = PolylineBuilderEx.CreatePolyline(points);
bool hasZ = polylineWithAttrs.HasZ;          // hasZ = true
bool hasM = polylineWithAttrs.HasM;          // hasM = true
bool hasID = polylineWithAttrs.HasID;        // hasID = true

// will not have attributes because it is specified as a parameter
Polyline polylineWithoutAttrs = 
  PolylineBuilderEx.CreatePolyline(points, AttributeFlags.None);
hasZ = polylineWithoutAttrs.HasZ;          // hasZ = false
hasM = polylineWithoutAttrs.HasM;          // hasM = false
hasID = polylineWithoutAttrs.HasID;        // hasID = false

// will have attributes because it is created with convenience method
Polygon polygonWithAttrs = PolygonBuilderEx.CreatePolygon(points);
hasZ = polygonWithAttrs.HasZ;               // hasZ = true
hasM = polygonWithAttrs.HasM;               // hasM = true
hasID = polygonWithAttrs.HasID;             // hasID = true

// will not have attributes because it is specified as a parameter
Polygon polygonWithoutAttrs = 
      PolygonBuilderEx.CreatePolygon(points, AttributeFlags.None);
hasZ = polygonWithoutAttrs.HasZ;               // hasZ = false
hasM = polygonWithoutAttrs.HasM;               // hasM = false
hasID = polygonWithoutAttrs.HasID;             // hasID = false

// will not have attributes because it is specified as a parameter
PolylineBuilderEx polylineB = 
           new PolylineBuilderEx(points, AttributeFlags.None);
hasZ = polylineB.HasZ;                      // hasZ = false
hasM = polylineB.HasM;                      // hasM = false
hasID = polylineB.HasID;                    // hasID = false

// will have attributes because it is passed an attributed polyline
polylineB = new PolylineBuilderEx(polylineWithAttrs);
hasZ = polylineB.HasZ;                      // hasZ = true
hasM = polylineB.HasM;                      // hasM = true
hasID = polylineB.HasID;                    // hasID = true

// will not have attributes because it is passed a non-attributed polyline
polylineB = new PolylineBuilderEx(polylineWithoutAttrs);
hasZ = polylineB.HasZ;                      // hasZ = false
hasM = polylineB.HasM;                      // hasM = false
hasID = polylineB.HasID;                    // hasID = false

// will not have attributes because it is specified as a parameter
PolygonBuilderEx polygonB = new PolygonBuilderEx(points, AttributeFlags.None);
hasZ = polygonB.HasZ;                       // hasZ = false
hasM = polygonB.HasM;                       // hasM = false
hasID = polygonB.HasID;                     // hasID = false

// will have attributes because it is passed an attributed polygon
polygonB = new PolygonBuilderEx(polygonWithAttrs);
hasZ = polygonB.HasZ;                       // hasZ = true
hasM = polygonB.HasM;                       // hasM = true
hasID = polygonB.HasID;                     // hasID = true

// will not have attributes because it is passed a non-attributed polygon
polygonB = new PolygonBuilderEx(polygonWithoutAttrs);
hasZ = polygonB.HasZ;                       // hasZ = true
hasM = polygonB.HasM;                       // hasM = true
hasID = polygonB.HasID;                     // hasID = true
Reverse the order of points in a Polyline
var polylineBuilder = new PolylineBuilderEx(polyline);
polylineBuilder.ReverseOrientation();
Polyline reversedPolyline = polylineBuilder.ToGeometry();
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also