ArcGIS Runtime SDK for iOS: AGSPart.h Source File
ArcGIS Runtime SDK for iOS  100.15
AGSPart.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 2022 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 
67 @interface AGSPart : AGSObject <NSFastEnumeration>
68 
69 
70 #pragma mark -
71 #pragma mark initializers
72 
73 
74 
75 #pragma mark -
76 #pragma mark properties
77 
89 @property (nonatomic, assign, readonly) BOOL hasCurves;
90 
94 @property (nonatomic, assign, readonly, getter=isEmpty) BOOL empty;
95 
99 @property (nonatomic, assign, readonly) NSInteger pointCount;
100 
104 @property (nonatomic, assign, readonly) NSInteger segmentCount;
105 
113 @property (nullable, nonatomic, strong, readonly) AGSSpatialReference *spatialReference;
114 
115 
119 @property (nullable, nonatomic, strong, readonly) AGSPoint *startPoint;
120 
124 @property (nullable, nonatomic, strong, readonly) AGSPoint *endPoint;
125 
129 @property (nonatomic, strong, readonly) AGSPointCollection *points;
130 
131 #pragma mark -
132 #pragma mark methods
133 
138 -(AGSPoint*)pointAtIndex:(NSInteger)index;
139 
144 -(AGSSegment*)segmentAtIndex:(NSInteger)index;
145 
151 -(NSInteger)segmentIndexForStartPointIndex:(NSInteger)pointIndex;
152 
158 -(NSInteger)segmentIndexForEndPointIndex:(NSInteger)pointIndex;
159 
165 -(NSInteger)startPointIndexForSegmentIndex:(NSInteger)segmentIndex;
166 
172 -(NSInteger)endPointIndexForSegmentIndex:(NSInteger)segmentIndex;
173 
174 //I don't know what this is for or what it does
175 -(void)segmentIndexForPointIndex:(NSInteger)pointIndex outSegmentStartPointIndex:(NSInteger*)outSegmentStartPointIndex outSegmentEndPointIndex:(NSInteger*)outSegmentEndPointIndex;
176 
191 -(AGSSegment*)objectAtIndexedSubscript:(NSInteger)idx;
192 
197 -(AGSEnumerator*)pointEnumerator;
198 
203 -(AGSEnumerator*)segmentEnumerator;
204 
209 -(NSArray<AGSSegment*>*)array;
210 
211 
212 @end
Definition: AGSObject.h:28
Represents a single part of a multipart geometry (AGSPolygon or AGSPolyline).
Definition: AGSPart.h:67
NSArray< AGSSegment * > * array()
NSInteger segmentCount
Definition: AGSPart.h:104
AGSSpatialReference * spatialReference
Definition: AGSPart.h:113
AGSPoint * startPoint
Definition: AGSPart.h:119
BOOL empty
Definition: AGSPart.h:94
AGSPointCollection * points
Definition: AGSPart.h:129
AGSPoint * endPoint
Definition: AGSPart.h:124
AGSEnumerator * segmentEnumerator()
AGSEnumerator * pointEnumerator()
NSInteger pointCount
Definition: AGSPart.h:99
BOOL hasCurves
Definition: AGSPart.h:89
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:61
Represents the spatial reference of a geometry.
Definition: AGSSpatialReference.h:49