ArcGIS Runtime SDK for iOS: AGSGeometry.h Source File
ArcGIS Runtime SDK for iOS  100.12
AGSGeometry.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  //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 
146 @property (nonatomic, assign, readonly) BOOL hasCurves;
147 
152 @property (nonatomic, assign, readonly) BOOL hasZ;
153 
157 @property (nonatomic, assign, readonly) BOOL hasM;
158 
162 @property (nonatomic, assign, readonly, getter=isEmpty) BOOL empty;
163 
168 @property (nullable, nonatomic, strong, readonly) AGSSpatialReference *spatialReference;
169 
173 @property (nonatomic, strong, readonly) AGSEnvelope *extent;
174 
178 @property (nonatomic, assign, readonly) AGSGeometryType geometryType;
179 
184 @property (nonatomic, assign, readonly) AGSGeometryDimension dimension;
185 
186 #pragma mark -
187 #pragma mark methods
188 
195 
201 -(BOOL)isEqualToGeometry:(AGSGeometry*)other;
202 
209 -(BOOL)isEqualToGeometry:(AGSGeometry*)other tolerance:(double)tolerance;
210 
211 @end
212 
213 
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:178
AGSEnvelope * extent
Definition: AGSGeometry.h:173
BOOL empty
Definition: AGSGeometry.h:162
BOOL hasM
Definition: AGSGeometry.h:157
BOOL hasZ
Definition: AGSGeometry.h:152
BOOL hasCurves
Definition: AGSGeometry.h:146
AGSGeometryDimension dimension
Definition: AGSGeometry.h:184
AGSSpatialReference * spatialReference
Definition: AGSGeometry.h:168
Definition: AGSObject.h:28
Represents the spatial reference of a geometry.
Definition: AGSSpatialReference.h:48
A protocol to convert objects to and from JSON.
Definition: AGSJSONSerializable.h:38