ArcGIS Runtime SDK for iOS: AGSGeometry.h Source File
ArcGIS Runtime SDK for iOS  100.14
AGSGeometry.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  //Required for Globals API doc
26 
27 #import <Foundation/Foundation.h>
28 #import <ArcGIS/AGSObject.h>
29 #import <ArcGIS/AGSJSONSerializable.h>
30 
31 
32 
37 typedef NS_ENUM(NSInteger, AGSGeometryDimension) {
43 };
44 
49 typedef NS_ENUM(NSInteger, AGSGeometryType) {
56 };
57 
58 @class AGSSpatialReference;
59 @class AGSGeometryBuilder;
60 @class AGSEnvelope;
61 
121 @interface AGSGeometry : AGSObject <NSCopying, AGSJSONSerializable>
122 
123 #pragma mark -
124 #pragma mark initializers
125 
126 #pragma mark -
127 #pragma mark properties
128 
148 @property (nonatomic, assign, readonly) BOOL hasCurves;
149 
154 @property (nonatomic, assign, readonly) BOOL hasZ;
155 
159 @property (nonatomic, assign, readonly) BOOL hasM;
160 
164 @property (nonatomic, assign, readonly, getter=isEmpty) BOOL empty;
165 
170 @property (nullable, nonatomic, strong, readonly) AGSSpatialReference *spatialReference;
171 
175 @property (nonatomic, strong, readonly) AGSEnvelope *extent;
176 
180 @property (nonatomic, assign, readonly) AGSGeometryType geometryType;
181 
186 @property (nonatomic, assign, readonly) AGSGeometryDimension dimension;
187 
188 #pragma mark -
189 #pragma mark methods
190 
197 
203 -(BOOL)isEqualToGeometry:(AGSGeometry*)other;
204 
211 -(BOOL)isEqualToGeometry:(AGSGeometry*)other tolerance:(double)tolerance;
212 
213 @end
214 
215 
AGSGeometryType
Definition: AGSGeometry.h:49
@ AGSGeometryTypeMultipoint
Definition: AGSGeometry.h:55
@ AGSGeometryTypePolygon
Definition: AGSGeometry.h:54
@ AGSGeometryTypePoint
Definition: AGSGeometry.h:51
@ AGSGeometryTypeUnknown
Definition: AGSGeometry.h:50
@ AGSGeometryTypeEnvelope
Definition: AGSGeometry.h:52
@ AGSGeometryTypePolyline
Definition: AGSGeometry.h:53
AGSGeometryDimension
Definition: AGSGeometry.h:37
@ AGSGeometryDimensionPoint
Definition: AGSGeometry.h:38
@ AGSGeometryDimensionUnknown
Definition: AGSGeometry.h:42
@ AGSGeometryDimensionVolume
Definition: AGSGeometry.h:41
@ AGSGeometryDimensionCurve
Definition: AGSGeometry.h:39
@ AGSGeometryDimensionArea
Definition: AGSGeometry.h:40
A geometry that represents a rectangular shape.
Definition: AGSEnvelope.h:55
A builder to build geometries.
Definition: AGSGeometryBuilder.h:43
Base class for all classes that represent geometric shapes.
Definition: AGSGeometry.h:121
AGSGeometryBuilder * toBuilder()
AGSGeometryType geometryType
Definition: AGSGeometry.h:180
AGSEnvelope * extent
Definition: AGSGeometry.h:175
BOOL empty
Definition: AGSGeometry.h:164
BOOL hasM
Definition: AGSGeometry.h:159
BOOL hasZ
Definition: AGSGeometry.h:154
BOOL hasCurves
Definition: AGSGeometry.h:148
AGSGeometryDimension dimension
Definition: AGSGeometry.h:186
AGSSpatialReference * spatialReference
Definition: AGSGeometry.h:170
Definition: AGSObject.h:28
Represents the spatial reference of a geometry.
Definition: AGSSpatialReference.h:49
A protocol to convert objects to and from JSON.
Definition: AGSJSONSerializable.h:38