EllipticArcSegment.circularEllipticArcWithCenterRadiusAndAngles constructor

EllipticArcSegment.circularEllipticArcWithCenterRadiusAndAngles({
  1. required ArcGISPoint centerPoint,
  2. required double radius,
  3. required double startAngle,
  4. required double centralAngle,
  5. SpatialReference? spatialReference,
})

Creates an EllipticArcSegment that is a partial circle shape from the center point and radius of the embedded circle, and the start and central angle around that circle.

The z-value and m-value of the center point (if present) are ignored. Use EllipticArcSegment.circularEllipticArcWithStartEndAndInterior to create a circular EllipticArcSegment with end points with z-value and/or m-value.

Parameters:

  • centerPoint — The center point of the embedded circle.
  • radius — The distance from the center of the embedded circle to its perimeter.
  • startAngle — The parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse. A positive value corresponds to a counterclockwise rotation from the major axis.
  • centralAngle — The parametric angle in radians measuring the span of the arc from EllipticArcSegment.startAngle to EllipticArcSegment.endAngle. A positive value corresponds to a counterclockwise arc sweep.
  • spatialReference — The spatial reference of the new segment.

Implementation

factory EllipticArcSegment.circularEllipticArcWithCenterRadiusAndAngles({
  required ArcGISPoint centerPoint,
  required double radius,
  required double startAngle,
  required double centralAngle,
  SpatialReference? spatialReference,
}) {
  _initializeArcGISEnvironmentIfNeeded();
  final handle = _withThrowingErrorHandler((errorHandler) {
    return runtimecore
        .RT_EllipticArcSegment_createCircularEllipticArcWithCenterRadiusAndAngles(
      centerPoint._handle,
      radius,
      startAngle,
      centralAngle,
      spatialReference?._handle ?? ffi.nullptr,
      errorHandler,
    );
  });
  final EllipticArcSegment object = EllipticArcSegment._withHandle(handle);
  object._spatialReference.cache(spatialReference);
  return object;
}