ArcGIS Runtime SDK for iOS: AGSEllipticArcSegment Class Reference
ArcGIS Runtime SDK for iOS  100.12
AGSEllipticArcSegment Class Reference

Description

An elliptic arc segment for use in a multipart geometry.

An elliptic arc is the portion of the boundary of a 2D ellipse that connects two points.

Since
100.12
Inheritance diagram for AGSEllipticArcSegment:
AGSSegment AGSObject

Instance Methods

(nullable instancetype) - initWithCenterPoint:rotationAngle:semiMajorAxis:minorMajorRatio:startAngle:centralAngle:spatialReference:
 
(nullable instancetype) - initWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference:
 
(BOOL) - isEqualToSegment:
 

Class Methods

(nullable AGSEllipticArcSegment *) + createCircularEllipticArcWithCenterPoint:radius:startAngle:centralAngle:spatialReference:
 
(nullable AGSEllipticArcSegment *) + createCircularEllipticArcWithStartPoint:endPoint:interiorPoint:spatialReference:
 
(nullable instancetype) + ellipticArcSegmentWithCenterPoint:rotationAngle:semiMajorAxis:minorMajorRatio:startAngle:centralAngle:spatialReference:
 
(nullable instancetype) + ellipticArcSegmentWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference:
 

Properties

AGSPointcenterPoint
 
double centralAngle
 
BOOL circular
 
BOOL closed
 
BOOL counterClockwise
 
BOOL curve
 
double endAngle
 
AGSPointendPoint
 
double minorMajorRatio
 
double rotationAngle
 
double semiMajorAxis
 
double semiMinorAxis
 
AGSSpatialReferencespatialReference
 
double startAngle
 
AGSPointstartPoint
 

Method Documentation

◆ createCircularEllipticArcWithCenterPoint:radius:startAngle:centralAngle:spatialReference:

+ (nullable AGSEllipticArcSegment *) createCircularEllipticArcWithCenterPoint: (AGSPoint *)  centerPoint
radius: (double)  radius
startAngle: (double)  startAngle
centralAngle: (double)  centralAngle
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an AGSEllipticArcSegment 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 and m values of the center point (if present) are ignored. Use createCircularEllipticArcWithStartPoint:endPoint:interiorPoint:spatialReference: to create a circular AGSEllipticArcSegment with end points with z and/or m values.

Parameters
centerPointThe center point of the embedded circle.
radiusThe distance from the center of the embedded circle to its perimeter.
startAngleThe parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse.
centralAngleThe parametric angle in radians measuring the span of the arc from AGSEllipticArcSegment::startAngle to AGSEllipticArcSegment::endAngle.
spatialReferenceThe spatial reference of the new segment.
Returns
A new AGSEllipticArcSegment with the given center point, radius, start and central angles, and spatial reference, where AGSEllipticArcSegment::circular is YES.
Since
100.12

◆ createCircularEllipticArcWithStartPoint:endPoint:interiorPoint:spatialReference:

+ (nullable AGSEllipticArcSegment *) createCircularEllipticArcWithStartPoint: (AGSPoint *)  startPoint
endPoint: (AGSPoint *)  endPoint
interiorPoint: (AGSPoint *)  interiorPoint
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an AGSEllipticArcSegment from start, end, and interior points that is a partial circle shape.

The z and m values of the start and end points (if present) are used in the circular AGSEllipticArcSegment. The z and m values of the interior point (if present) are ignored.

Parameters
startPointThe start point of the segment.
endPointThe end point of the segment.
interiorPointA point along the circular arc, between the start and end points.
spatialReferenceThe spatial reference of the new segment.
Returns
A new AGSEllipticArcSegment with the given start, through and end point, and spatial reference, where AGSEllipticArcSegment::circular is YES.
Since
100.12

◆ ellipticArcSegmentWithCenterPoint:rotationAngle:semiMajorAxis:minorMajorRatio:startAngle:centralAngle:spatialReference:

+ (nullable instancetype) ellipticArcSegmentWithCenterPoint: (AGSPoint *)  centerPoint
rotationAngle: (double)  rotationAngle
semiMajorAxis: (double)  semiMajorAxis
minorMajorRatio: (double)  minorMajorRatio
startAngle: (double)  startAngle
centralAngle: (double)  centralAngle
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an elliptic arc based on parameters that define an ellipse and the portion of that ellipse that defines the arc.

The spatial reference parameter is used if the center point parameter has a nil spatial reference. If both spatial references are supplied, they must be equal.

The z and m values of the center point (if present) are ignored. Use initWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference: to create an AGSEllipticArcSegment with end points with z and/or m values.

Parameters
centerPointThe center point of the embedded ellipse.
rotationAngleThe angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis.
semiMajorAxisThe length of the semi-major axis of the embedded ellipse.
minorMajorRatioThe ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse.
startAngleThe parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse.
centralAngleThe parametric angle in radians measuring the span of the arc from AGSEllipticArcSegment::startAngle to AGSEllipticArcSegment::endAngle.
spatialReferenceA spatial reference to use for the segment if the center point parameter does not have a spatial reference set.
Since
100.12

◆ ellipticArcSegmentWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference:

+ (nullable instancetype) ellipticArcSegmentWithStartPoint: (AGSPoint *)  startPoint
endPoint: (AGSPoint *)  endPoint
rotationAngle: (double)  rotationAngle
isMinor: (BOOL)  isMinor
isCounterClockwise: (BOOL)  isCounterClockwise
semiMajorAxis: (double)  semiMajorAxis
minorMajorRatio: (double)  minorMajorRatio
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an elliptic arc segment from the given start and end points, and other parameters that define an ellipse.

The z and m values of the start and end points (if present) are used in the AGSEllipticArcSegment.

To maintain the given startPoint and endPoint in the new segment, the other parameters may be adjusted if required. Such adjustments are made according to the Scalable Vector Graphics 1.1 Specification, Appendix F.6.5. If these cannot be adjusted sufficiently, an arc represented with a straight line will be returned.

Parameters
startPointThe start point of the segment.
endPointThe end point of the segment.
rotationAngleThe angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis.
isMinorYES if AGSEllipticArcSegment::centralAngle of the segment is less than PI.
isCounterClockwiseYES if the direction of the segment, from start point to end point, proceeds in a counterclockwise direction, otherwise NO.
semiMajorAxisThe length of the semi-major axis of the embedded ellipse.
minorMajorRatioThe ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse.
spatialReferenceA spatial reference to use for the segment if the points do not have spatial references set.
Since
100.12

◆ initWithCenterPoint:rotationAngle:semiMajorAxis:minorMajorRatio:startAngle:centralAngle:spatialReference:

- (nullable instancetype) initWithCenterPoint: (AGSPoint *)  centerPoint
rotationAngle: (double)  rotationAngle
semiMajorAxis: (double)  semiMajorAxis
minorMajorRatio: (double)  minorMajorRatio
startAngle: (double)  startAngle
centralAngle: (double)  centralAngle
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an elliptic arc based on parameters that define an ellipse and the portion of that ellipse that defines the arc.

The spatial reference parameter is used if the center point parameter has a nil spatial reference. If both spatial references are supplied, they must be equal.

The z and m values of the center point (if present) are ignored. Use initWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference: to create an AGSEllipticArcSegment with end points with z and/or m values.

Parameters
centerPointThe center point of the embedded ellipse.
rotationAngleThe angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis.
semiMajorAxisThe length of the semi-major axis of the embedded ellipse.
minorMajorRatioThe ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse.
startAngleThe parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse.
centralAngleThe parametric angle in radians measuring the span of the arc from AGSEllipticArcSegment::startAngle to AGSEllipticArcSegment::endAngle.
spatialReferenceA spatial reference to use for the segment if the center point parameter does not have a spatial reference set.
Since
100.12

◆ initWithStartPoint:endPoint:rotationAngle:isMinor:isCounterClockwise:semiMajorAxis:minorMajorRatio:spatialReference:

- (nullable instancetype) initWithStartPoint: (AGSPoint *)  startPoint
endPoint: (AGSPoint *)  endPoint
rotationAngle: (double)  rotationAngle
isMinor: (BOOL)  isMinor
isCounterClockwise: (BOOL)  isCounterClockwise
semiMajorAxis: (double)  semiMajorAxis
minorMajorRatio: (double)  minorMajorRatio
spatialReference: (nullable AGSSpatialReference *)  spatialReference 

Creates an elliptic arc segment from the given start and end points, and other parameters that define an ellipse.

The z and m values of the start and end points (if present) are used in the AGSEllipticArcSegment.

To maintain the given startPoint and endPoint in the new segment, the other parameters may be adjusted if required. Such adjustments are made according to the Scalable Vector Graphics 1.1 Specification, Appendix F.6.5. If these cannot be adjusted sufficiently, an arc represented with a straight line will be returned.

Parameters
startPointThe start point of the segment.
endPointThe end point of the segment.
rotationAngleThe angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis.
isMinorYES if AGSEllipticArcSegment::centralAngle of the segment is less than PI.
isCounterClockwiseYES if the direction of the segment, from start point to end point, proceeds in a counterclockwise direction, otherwise NO.
semiMajorAxisThe length of the semi-major axis of the embedded ellipse.
minorMajorRatioThe ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse.
spatialReferenceA spatial reference to use for the segment if the points do not have spatial references set.
Since
100.12

◆ isEqualToSegment:

- (BOOL) isEqualToSegment: (AGSSegment *)  other

Determines whether or not two time segments are equal.

Parameters
otherThe segment to compare the current segment with.
Since
100

Property Documentation

◆ centerPoint

- (AGSPoint*) centerPoint
readnonatomicstrong

The center point of the ellipse that this segment is defined upon.

Since
100.12

◆ centralAngle

- (double) centralAngle
readnonatomicassign

The parametric angle in radians measuring the span of the arc from AGSEllipticArcSegment::startAngle to AGSEllipticArcSegment::endAngle.

A positive value corresponds to a counterclockwise arc sweep.

This value is always between -2 * PI and 2 * PI, these limits indicating this arc forms a complete ellipse in either clockwise or counterclockwise direction.

Since
100.12

◆ circular

- (BOOL) circular
readnonatomicassign

Indicates if this arc is a portion of the boundary of a 2D circle.

An elliptic arc is circular if the ellipse upon which it is based is a circle, meaning the lengths of its major and minor axes are equal.

Use createCircularEllipticArcWithCenterPoint:radius:startAngle:centralAngle:spatialReference: and createCircularEllipticArcWithStartPoint:endPoint:interiorPoint:spatialReference: to create circular arcs.

Since
100.12

◆ closed

- (BOOL) closed
readnonatomicassigninherited

Determines whether the segment is closed or not.

Since
100

◆ counterClockwise

- (BOOL) counterClockwise
readnonatomicassign

Indicates if the direction of the segment, from start point to end point, proceeds in a counterclockwise direction.

Since
100.12

◆ curve

- (BOOL) curve
readnonatomicassigninherited

NO if the object is an AGSLineSegment, YES otherwise.

Prior to v100.12, only AGSLineSegment instances were supported when creating new geometries using an AGSMultipartBuilder or iterating the AGSSegment instances in an existing AGSMultipart geometry.

From v100.12, you can add curve segments (AGSCubicBezierSegment, AGSEllipticArcSegment) when using an AGSMultipartBuilder, and get them back from an existing AGSMultipart geometry when AGSGeometry::hasCurves is YES.

See also
AGSGeometryBuilder::hasCurves, AGSMutablePart::hasCurves, AGSCubicBezierSegment, AGSEllipticArcSegment
Since
100.12

◆ endAngle

- (double) endAngle
readnonatomicassign

The parametric angle in radians of the end of the arc relative to the major axis of the embedded ellipse.

A positive value corresponds to a counterclockwise rotation from the major axis.

Since
100.12

◆ endPoint

- (AGSPoint*) endPoint
readnonatomicstronginherited

The end point of the segment.

Since
100

◆ minorMajorRatio

- (double) minorMajorRatio
readnonatomicassign

The ratio of the length of the semi-minor axis to the semi-major axis.

Since
100.12

◆ rotationAngle

- (double) rotationAngle
readnonatomicassign

The angle in radians by which the major axis of the ellipse this segment is based upon is rotated from the x-axis.

Since
100.12

◆ semiMajorAxis

- (double) semiMajorAxis
readnonatomicassign

The length of the longer of the two axes of the ellipse upon which this arc is based.

The semi-major axis always lies on the line between 0 and PI radians.

Since
100.12

◆ semiMinorAxis

- (double) semiMinorAxis
readnonatomicassign

The length of the shorter of the two axes of the ellipse upon which this arc is based.

The semi-minor axis always lies on the line between PI / 2 and 3 * PI / 2 radians.

Since
100.12

◆ spatialReference

- (AGSSpatialReference*) spatialReference
readnonatomicstronginherited

The spatial reference of the segment.

Since
100

◆ startAngle

- (double) startAngle
readnonatomicassign

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.

Since
100.12

◆ startPoint

- (AGSPoint*) startPoint
readnonatomicstronginherited

The start point of the segment.

Since
100