ArcGIS Runtime SDK for iOS: AGSPart.h Source File
ArcGIS Runtime SDK for iOS  100.11
AGSPart.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 2021 ESRI
3 
4  All rights reserved under the copyright laws of the United States
5  and applicable international laws, treaties, and conventions.
6 
7  This material is licensed for use under the Esri Master License
8  Agreement (MLA), and is bound by the terms of that agreement.
9  You may redistribute and use this code without modification,
10  provided you adhere to the terms of the MLA and include this
11  copyright notice.
12 
13  See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
14 
15  For additional information, contact:
16  Environmental Systems Research Institute, Inc.
17  Attn: Contracts and Legal Services Department
18  380 New York Street
19  Redlands, California, 92373
20  USA
21 
22  email: contracts@esri.com
23  */
24 
25 #import <Foundation/Foundation.h>
26 #import <ArcGIS/AGSObject.h>
27 
28 @class AGSPoint;
29 @class AGSSpatialReference;
30 @class AGSSegment;
31 @class AGSPointCollection;
32 @class AGSEnumerator;
33  //Required for Globals API doc
35 
59 @interface AGSPart : AGSObject <NSFastEnumeration>
60 
61 
62 #pragma mark -
63 #pragma mark initializers
64 
65 
66 
67 #pragma mark -
68 #pragma mark properties
69 
74 @property (nonatomic, assign, readonly) BOOL hasCurves;
75 
79 @property (nonatomic, assign, readonly, getter=isEmpty) BOOL empty;
80 
84 @property (nonatomic, assign, readonly) NSInteger pointCount;
85 
89 @property (nonatomic, assign, readonly) NSInteger segmentCount;
90 
98 @property (nullable, nonatomic, strong, readonly) AGSSpatialReference *spatialReference;
99 
100 
104 @property (nullable, nonatomic, strong, readonly) AGSPoint *startPoint;
105 
109 @property (nullable, nonatomic, strong, readonly) AGSPoint *endPoint;
110 
114 @property (nonatomic, strong, readonly) AGSPointCollection *points;
115 
116 #pragma mark -
117 #pragma mark methods
118 
123 -(AGSPoint*)pointAtIndex:(NSInteger)index;
124 
129 -(AGSSegment*)segmentAtIndex:(NSInteger)index;
130 
136 -(NSInteger)segmentIndexForStartPointIndex:(NSInteger)pointIndex;
137 
143 -(NSInteger)segmentIndexForEndPointIndex:(NSInteger)pointIndex;
144 
150 -(NSInteger)startPointIndexForSegmentIndex:(NSInteger)segmentIndex;
151 
157 -(NSInteger)endPointIndexForSegmentIndex:(NSInteger)segmentIndex;
158 
159 //I don't know what this is for or what it does
160 -(void)segmentIndexForPointIndex:(NSInteger)pointIndex outSegmentStartPointIndex:(NSInteger*)outSegmentStartPointIndex outSegmentEndPointIndex:(NSInteger*)outSegmentEndPointIndex;
161 
176 -(AGSSegment*)objectAtIndexedSubscript:(NSInteger)idx;
177 
182 -(AGSEnumerator*)pointEnumerator;
183 
188 -(AGSEnumerator*)segmentEnumerator;
189 
194 -(NSArray<AGSSegment*>*)array;
195 
196 
197 @end
Definition: AGSObject.h:28
Represents a single part of a multipart geometry (AGSPolygon or AGSPolyline).
Definition: AGSPart.h:59
NSArray< AGSSegment * > * array()
NSInteger segmentCount
Definition: AGSPart.h:89
AGSSpatialReference * spatialReference
Definition: AGSPart.h:98
AGSPoint * startPoint
Definition: AGSPart.h:104
BOOL empty
Definition: AGSPart.h:79
AGSPointCollection * points
Definition: AGSPart.h:114
AGSPoint * endPoint
Definition: AGSPart.h:109
AGSEnumerator * segmentEnumerator()
AGSEnumerator * pointEnumerator()
NSInteger pointCount
Definition: AGSPart.h:84
BOOL hasCurves
Definition: AGSPart.h:74
Represents vertices (immutable collection of points) of a single part of a multipart geometry (AGSMul...
Definition: AGSPointCollection.h:41
A location defined by x and y (and optionally z) coordinates.
Definition: AGSPoint.h:73
A segment represents an edge of a multipart geometry, connecting a start to an end point.
Definition: AGSSegment.h:59
Represents the spatial reference of a geometry.
Definition: AGSSpatialReference.h:46